美文网首页
k8s 搭建zabbix

k8s 搭建zabbix

作者: 繁华丶凋零 | 来源:发表于2022-12-06 09:59 被阅读0次

镜像:

1.mysql:8.0
2.zabbix-web-nginx-mysql:latest
3.zabbix-server-mysql:latest

地址:

1.zabbix server nodeport 地址: 2.2.2.2
2.mysql nodeport 地址: 2.2.2.2
3.镜像仓库地址:1.1.1.1
4.nfs地址:1.1.1.1


1.cat mysql.yaml

apiVersion: v1
kind: Namespace
metadata:
  name: zabbix

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: mysql-pv
  namespace: zabbix
spec:
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: nfs-mysql
  nfs:
    path: /data/mysql/pv
    server: 1.1.1.1

---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: mysql-pvc
  namespace: zabbix
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: nfs-mysql

---
apiVersion: v1
kind: Service
metadata:
  name: mysql-svc
  namespace: zabbix
spec:
  type: NodePort
  ports:
    - name: mysql
      port: 3306
      targetPort: 3306
      nodePort: 3306
      protocol: TCP
  selector:
    app: mysql

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql
  namespace: zabbix
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
        - name: mysql
          image: 1.1.1.1:5000/mysql:8.0
          imagePullPolicy: IfNotPresent
          args:
          - "--character-set-server=utf8"
          - "--collation-server=utf8_bin"
          - "--default-authentication-plugin=mysql_native_password"
          env:
          - name: MYSQL_DATABASE
            value: "zabbix"
          - name: MYSQL_USER
            value: "zabbix"
          - name: MYSQL_PASSWORD
            value: "zabbix"
          - name: MYSQL_ROOT_PASSWORD
            value: "zabbix"


          ports:
            - containerPort: 3306
          volumeMounts:
            - name: mysql-pvc
              mountPath: /var/lib/mysql
            - name: timezone
              mountPath: /etc/localtime
          resources:
            requests:
              cpu: 500m
              memory: 500Mi

      terminationGracePeriodSeconds: 20

      volumes:
        - name: mysql-pvc
          persistentVolumeClaim:
            claimName: mysql-pvc
        - name: timezone
          hostPath:
            path: /usr/share/zoneinfo/Asia/Shanghai

2.cat zabbix.yaml

---
apiVersion: v1
kind: Service
metadata:
  name: zabbix-server
  namespace: zabbix
  labels:
    app: zabbix-server
spec:
  selector:
    app: zabbix-server
  ports:
  - name: zabbix-server
    port: 10051
    nodePort: 10051
  type: NodePort

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: zabbix-server
  namespace: zabbix
spec:
  replicas: 1
  selector:
    matchLabels:
      app: zabbix-server
  template:
    metadata:
      labels:
        app: zabbix-server
    spec:
      containers:
      - name: zabbix-server
        image: 1.1.1.1:5000/zabbix-server-mysql:latest
        imagePullPolicy: IfNotPresent
        env:
        - name: DB_SERVER_HOST
          value: "2.2.2.2"
        - name: DB_SERVER_PORT
          value: "3306"
        - name: MYSQL_DATABASE
          value: zabbix
        - name: MYSQL_USER
          value: zabbix
        - name: MYSQL_PASSWORD
          value: zabbix
        - name: MYSQL_ROOT_PASSWORD
          value: zabbix
        - name: ZBX_CACHESIZE
          value: "512M"
        - name: ZBX_HISTORYCACHESIZE
          value: "128M"
        - name: ZBX_HISTORYINDEXCACHESIZE
          value: "128M"
        - name: ZBX_TRENDCACHESIZE
          value: "128M"
        - name: ZBX_VALUECACHESIZE
          value: "256M"
        - name: ZBX_TIMEOUT
          value: "30"
        ports:
        - containerPort: 10051
          name: zabbix-server
          protocol: TCP
        resources:
          requests:
            cpu: 500m
            memory: 500Mi
          limits:
            cpu: 500m
            memory: 500Mi
      nodeName: node02

3.zabbix_web.yaml

---
apiVersion: v1
kind: Service
metadata:
  name: zabbix-web
  namespace: zabbix
  labels:
    app: zabbix-web
spec:
  type: NodePort
  selector:
    app: zabbix-web
  ports:
  - name: zabbix-web
    port: 8080
    nodePort: 8080
    protocol: TCP


---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: zabbix-web
  namespace: zabbix
spec:
  replicas: 1
  selector:
    matchLabels:
      app: zabbix-web
  template:
    metadata:
      labels:
        app: zabbix-web
    spec:
      containers:
      - name: zabbix-web
        image: 1.1.1.1:5000/zabbix-web-nginx-mysql:latest
        imagePullPolicy: IfNotPresent
        env:
        - name: DB_SERVER_HOST
          value: "2.2.2.2"
        - name: MYSQL_DATABASE
          value: zabbix
        - name: MYSQL_USER
          value: zabbix
        - name: MYSQL_PASSWORD
          value: zabbix
        - name: MYSQL_ROOT_PASSWORD
          value: abcxyz
        - name: ZBX_SERVER_HOST
          value: zabbix-server
        - name: PHP_TZ
          value: "Asia/Shanghai"
        ports:
        - containerPort: 8080
          name: web
          protocol: TCP
        resources:
          requests:
            cpu: 500m
            memory: 500Mi
          limits:
            cpu: 500m
            memory: 500Mi

4.端口监听情况

#netstat -lnap |egrep "3306|10051|8080" | grep LISTEN
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      3813791/kube-proxy
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      3813791/kube-proxy
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      3813791/kube-proxy

相关文章

网友评论

      本文标题:k8s 搭建zabbix

      本文链接:https://www.haomeiwen.com/subject/laewfdtx.html