真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

k8s部署zabbix監(jiān)控系統(tǒng)

zabbix簡介

十多年的噶爾網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整噶爾建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“噶爾網(wǎng)站設(shè)計(jì)”,“噶爾網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

       Zabbix 是一種網(wǎng)絡(luò)監(jiān)視、管理系統(tǒng),基于 Server-Client 架構(gòu)。可用于監(jiān)視各種網(wǎng)絡(luò)服務(wù)、服務(wù)器和網(wǎng)絡(luò)機(jī)器等狀態(tài)。Zabbix 使用 MySQL、PostgreSQL、SQLite、Oracle 或 IBM DB2 儲(chǔ)存資料。Server 端基于 C語言、Web 前端則是基于 PHP 所制作的。Zabbix 可以使用多種方式監(jiān)視??梢灾皇褂?Simple Check 不需要安裝 Client 端,亦可基于 SMTP 或 HTTP 等各種協(xié)定做死活監(jiān)視。在客戶端如 UNIX、Windows 中安裝 Zabbix Agent 之后,可監(jiān)視 CPU 負(fù)荷、網(wǎng)絡(luò)使用狀況、硬盤容量等各種狀態(tài)。而就算沒有安裝 Agent 在監(jiān)視對(duì)象中,Zabbix 也可以經(jīng)由 SNMP、TCP、ICMP檢查,以及利用 IPMI、SSH、telnet 對(duì)目標(biāo)進(jìn)行監(jiān)視。另外,Zabbix 包含 XMPP 等各種 Item 警示功能。

zabbix特性

  • 安裝部署簡單

  • web可視化管理界面

  • 開源

  • 分布式

  • 實(shí)時(shí)繪圖

實(shí)驗(yàn)環(huán)境

  • Kubernetes版本1.16.0

  • zabbix版本4.4.5(官方鏡像)

  • mysql版本8.0.19(官方鏡像)

zabbix k8s部署

  • 部署mysql(采用hostpath做數(shù)據(jù)持久化)

      1.創(chuàng)建pv

vim mysql-pv.yaml
kind: PersistentVolume
apiVersion: v1
metadata:
  name: mysql-pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 20Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 20Gi

       2.創(chuàng)建mysql配置文件(configMap)

    vim mysql-config.yaml
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: mysql-config
    data:
      custom.cnf: |
        [mysqld]
        default_storage_engine=innodb
        skip_external_locking
        skip_host_cache
        skip_name_resolve
        default_authentication_plugin=mysql_native_password

           3.創(chuàng)建mysql密碼(secret)

    [root@k8s-master-01 mysql]# echo -n password|base64
    cGFzc3dvcmQ=
    vim mysql-secret.yaml
    apiVersion: v1
    kind: Secret
    metadata:
      name: mysql-user-pwd
    data:
      mysql-root-pwd: cGFzc3dvcmQ=

           4.創(chuàng)建mysql部署文件

    vim mysql-deploy.yaml
    apiVersion: v1
    kind: Service
    metadata:
      name: mysql
    spec:
      type: NodePort
      ports:
      - port: 3306
        nodePort: 30006
        protocol: TCP
        targetPort: 3306 
      selector:
        app: mysql
    
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: mysql
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: mysql
      strategy:
        type: Recreate
      template:
        metadata:
          labels:
            app: mysql
        spec:
          containers:
          - image: mysql
            name: mysql
            imagePullPolicy: IfNotPresent
            env:
            - name: MYSQL_ROOT_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: mysql-user-pwd
                  key: mysql-root-pwd
            ports:
            - containerPort: 3306
              name: mysql
            volumeMounts:
            - name: mysql-config
              mountPath: /etc/mysql/conf.d/
            - name: mysql-persistent-storage
              mountPath: /var/lib/mysql
            - name: timezone
              mountPath: /etc/localtime
          volumes:
          - name: mysql-config
            configMap:
              name: mysql-config
          - name: timezone
            hostPath:
              path: /usr/share/zoneinfo/Asia/Shanghai
          - name: mysql-persistent-storage
            persistentVolumeClaim:
              claimName: mysql-pv-claim

           5.使用kubectl命令及以上yaml文件部署mysql

    [root@k8s-master-01 mysql]# kubectl apply -f ./      
    configmap/mysql-config created
    service/mysql created
    deployment.apps/mysql created
    persistentvolume/mysql-pv-volume created
    persistentvolumeclaim/mysql-pv-claim created
    secret/mysql-user-pwd created
    • 部署zabbix-server

    vim zabbix-server-deploy.yaml
    apiVersion: v1
    kind: Service
    metadata:
      name: zabbixserver
    spec:
      type: NodePort
      ports:
      - port:  10051
        nodePort: 30051
        protocol: TCP
        targetPort: 10051
      selector:
        app: zabbix-server
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: zabbix-server
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: zabbix-server
      template:
        metadata:
          labels:
            app: zabbix-server
        spec:
          containers:
            - name: zabbix-server
              image: zabbix/zabbix-server-mysql
              imagePullPolicy: IfNotPresent
              ports:
              - containerPort: 10051
                name: server
                protocol: TCP
              readinessProbe:
                tcpSocket:
                  port: server
                initialDelaySeconds: 5
                periodSeconds: 10
              livenessProbe:
                tcpSocket:
                  port: server
                initialDelaySeconds: 15
                periodSeconds: 20
              env:
              - name: DB_SERVER_HOST
                value: "mysql"
              - name: MYSQL_USER
                value: "zabbix"
              - name: MYSQL_PASSWORD
                value: "zabbix"
              - name: MYSQL_DATABASE
                value: "zabbix"
              - name: ZBX_CACHESIZE
                value: "1024M"
              - name: ZBX_TRENDCACHESIZE
                value: "1024M"
              - name: ZBX_HISTORYCACHESIZE
                value: "2048M"
              - name: ZBX_HISTORYINDEXCACHESIZE
                value: "1024M"
              - name: ZBX_STARTTRAPPERS
                value: "5"
              - name: ZBX_STARTPREPROCESSORS
                value: "10"
              - name: ZBX_STARTDBSYNCERS
                value: "10"
              - name: DB_SERVER_PORT
                value: "3306"
            - name: zabbix-agent
              image: zabbix/zabbix-agent
              imagePullPolicy: Always
              ports:
              - containerPort: 10050
                name: zabbix-agent
              env:
              - name: ZBX_HOSTNAME
                value: "Zabbix server"
              - name: ZBX_SERVER_HOST
                value: "127.0.0.1"
              - name: ZBX_PASSIVE_ALLOW
                value: "true"
              - name: ZBX_STARTAGENTS
                value: "3"
              - name: ZBX_TIMEOUT
                value: "10"
              securityContext:
                privileged: true
    • 部署zabbix-web

    vim zabbix-web.yaml
    apiVersion: v1
    kind: Service
    metadata:
      name: zabbix-web
    spec:
      type: NodePort
      ports:
      - port: 80
        protocol: TCP
        nodePort: 30080
        targetPort: 80
      selector:
        app: zabbix-web
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: zabbix-web
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: zabbix-web
      template:
        metadata:
          labels:
            app: zabbix-web
        spec:
          containers:
          - image: zabbix/zabbix-web-nginx-mysql
            name: zabbix-web
            imagePullPolicy: IfNotPresent
            ports:
            - containerPort: 80
              name: web
              protocol: TCP
            env:
            - name: DB_SERVER_HOST
              value: "mysql"
            - name:  ZBX_SERVER_HOST
              value: "zabbixserver"
            - name: MYSQL_USER
              value: "zabbix"
            - name: MYSQL_PASSWORD
              value: "zabbix"
            - name: TZ
              value: "Asia/Shanghai"

          使用kubectl命令及以上yaml文件部署

    [root@k8s-master-01 zabbix]# kubectl apply -f ./
    service/zabbixserver created
    deployment.apps/zabbix-server created
    service/zabbix-web created
    deployment.apps/zabbix-web created
    • 查看部署的組件狀態(tài)

    [root@k8s-master-01 zabbix]# kubectl get deploy,pod,svc,cm,secret,pv,pvc -o wide
    NAME                            READY   UP-TO-DATE   AVAILABLE   AGE     CONTAINERS                   IMAGES                                           SELECTOR
    deployment.apps/mysql           1/1     1            1           15m     mysql                        mysql                                            app=mysql
    deployment.apps/zabbix-server   1/1     1            1           3m23s   zabbix-server,zabbix-agent   zabbix/zabbix-server-mysql,zabbix/zabbix-agent   app=zabbix-server
    deployment.apps/zabbix-web      2/2     2            2           3m23s   zabbix-web                   zabbix/zabbix-web-nginx-mysql                    app=zabbix-web
    
    NAME                                READY   STATUS    RESTARTS   AGE     IP             NODE          NOMINATED NODE   READINESS GATES
    pod/mysql-ffcc44677-g2tlr           1/1     Running   0          15m     10.244.0.126   k8s-node-01              
    pod/zabbix-server-75cdd8865-rnxhx   2/2     Running   0          3m24s   10.244.0.127   k8s-node-01              
    pod/zabbix-web-856989975-8k45c      1/1     Running   0          3m23s   10.244.0.128   k8s-node-01              
    pod/zabbix-web-856989975-hxdfl      1/1     Running   0          3m24s   10.244.1.118   k8s-node-02              
    
    NAME                   TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)           AGE     SELECTOR
    service/kubernetes     ClusterIP   10.0.0.1             443/TCP           88d     
    service/mysql          NodePort    10.0.0.15            3306:30006/TCP    15m     app=mysql
    service/zabbix-web     NodePort    10.0.0.189           80:30080/TCP      3m23s   app=zabbix-web
    service/zabbixserver   NodePort    10.0.0.234           10051:30051/TCP   3m23s   app=zabbix-server
    
    NAME                     DATA   AGE
    configmap/mysql-config   1      15m
    
    NAME                         TYPE                                  DATA   AGE
    secret/default-token-7qhlz   kubernetes.io/service-account-token   3      88d
    secret/mysql-user-pwd        Opaque                                1      15m
    secret/tls-secret            kubernetes.io/tls                     2      61d
    
    NAME                               CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                    STORAGECLASS   REASON   AGE   VOLUMEMODE
    persistentvolume/mysql-pv-volume   20Gi       RWO            Retain           Bound    default/mysql-pv-claim   manual                  15m   Filesystem
    
    NAME                                   STATUS   VOLUME            CAPACITY   ACCESS MODES   STORAGECLASS   AGE   VOLUMEMODE
    persistentvolumeclaim/mysql-pv-claim   Bound    mysql-pv-volume   20Gi       RWO            manual         15m   Filesystem
    • 通過瀏覽器訪問測試

           瀏覽器地址欄輸入任意node節(jié)點(diǎn)的ip:30080     k8s部署zabbix監(jiān)控系統(tǒng)

          輸入用戶名及密碼訪問

    默認(rèn)用戶:Admin
    默認(rèn)密碼:zabbix

    k8s部署zabbix監(jiān)控系統(tǒng)

    至此k8s部署zabbix-server測試完成。

    本文暫不展開說明k8s基礎(chǔ)環(huán)境部署,后期再專門就k8s基礎(chǔ)環(huán)境部署做專門說明。


    分享題目:k8s部署zabbix監(jiān)控系統(tǒng)
    路徑分享:http://weahome.cn/article/jggjge.html

    其他資訊

    在線咨詢

    微信咨詢

    電話咨詢

    028-86922220(工作日)

    18980820575(7×24)

    提交需求

    返回頂部