超详细Kubernetes集群搭建Zabbix监控平台

您所在的位置:网站首页 zabbix监控报表 超详细Kubernetes集群搭建Zabbix监控平台

超详细Kubernetes集群搭建Zabbix监控平台

2023-08-15 12:57| 来源: 网络整理| 查看: 265

在这里插入图片描述 2022 ZABBIX 中国峰会 目 录 一、检查本地k8s环境 1.检查系统pod运行状态 2.检查node节点状态

二、配置nfs共享存储 1.安装nfs 2.创建共享目录 3.配置共享目录 4.启动相关服务 5.使配置生效 6.查看nfs 7.其他节点检查nfs共享

三、安装zabbix-mysql 1.编写zabbix-mysql的yaml文件 2.创建命名空间 3.创建zabbix数据库 4.检查pod状态

四、检查zabbix数据库的service域名 1.运行测试pod 2.进入busybox的pod 3.查看域名解析

五、安装zabbix-server 1.编写zabbix_server.yaml文件 2.给node02节点打上标签 3.安装zabbix-server 4.检查pod状态

六、部署zabbix-web 1.编写zabbix_web.yaml文件 2.安装zabbix-web 3.查看pod状态

七、部署zabbix-agent 1.编辑zabbix_agent.yaml 2.安装zabbix-agent 3.查看pod状态

八、访问zabbix的web 1.查看svc 2.登录web 3.登录zabbix 4.查询zabbix-server的监控项图表

一、检查本地k8s环境

1.检查系统pod运行状态

[root@k8s-master ~]# kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system calico-kube-controllers-7bc6547ffb-2nf66 1/1 Running 1 (9m28s ago) 2d16h kube-system calico-node-8c4pn 1/1 Running 1 (9m16s ago) 2d16h kube-system calico-node-f28qq 1/1 Running 1 (9m10s ago) 2d16h kube-system calico-node-wmc2j 1/1 Running 1 (9m29s ago) 2d16h kube-system coredns-6d8c4cb4d-6gm4x 1/1 Running 1 (9m28s ago) 2d16h kube-system coredns-6d8c4cb4d-7vxlz 1/1 Running 1 (9m29s ago) 2d16h kube-system etcd-k8s-master 1/1 Running 1 (9m30s ago) 2d16h kube-system kube-apiserver-k8s-master 1/1 Running 1 (9m29s ago) 2d16h kube-system kube-controller-manager-k8s-master 1/1 Running 1 (9m30s ago) 2d16h kube-system kube-proxy-8dfw8 1/1 Running 1 (9m29s ago) 2d16h kube-system kube-proxy-ghzrv 1/1 Running 1 (9m9s ago) 2d16h kube-system kube-proxy-j867z 1/1 Running 1 (9m15s ago) 2d16h kube-system kube-scheduler-k8s-master 1/1 Running 1 (9m28s ago) 2d16h

2.检查node节点状态

[root@k8s-master ~]# kubectl get nodes -owide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k8s-master Ready control-plane,master 2d16h v1.23.1 192.168.3.201 CentOS Linux 7 (Core) 3.10.0-957.el7.x86_64 containerd://1.6.6 k8s-node01 Ready 2d16h v1.23.1 192.168.3.202 CentOS Linux 7 (Core) 3.10.0-957.el7.x86_64 containerd://1.6.6 k8s-node02 Ready 2d16h v1.23.1 192.168.3.203 CentOS Linux 7 (Core) 3.10.0-957.el7.x86_64 containerd://1.6.6

二、配置nfs共享存储

1.安装nfs

yum install -y nfs-utils

2.创建共享目录

mkdir -p /nfs/data

3.配置共享目录

echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports

4.启动相关服务

systemctl enable rpcbind systemctl enable nfs-server systemctl start rpcbind

5.使配置生效

exportfs -r

6.查看nfs

[root@k8s-master ~]# exportfs /nfs/data

7.其他节点检查nfs共享

[root@k8s-node01 ~]# showmount -e 192.168.3.201 Export list for 192.168.3.201: /nfs/data *

三、安装zabbix-mysql

1.编写zabbix-mysql的yaml文件

[root@k8s-master zabbix]# cat zabbix_mysql.yaml --- apiVersion: v1 kind: PersistentVolume metadata: name: zabbixdb-pv spec: capacity: #创建存储的大小 storage: 10Gi volumeMode: Filesystem #存储的类型 accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Recycle nfs: path: /nfs/data/zabbix server: 192.168.3.201 mountOptions: - hard - nfsvers=4.1 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: zabbixdb-pvc namespace: zabbix spec: accessModes: - ReadWriteOnce volumeMode: Filesystem #存储类型 ,块存储Block resources: requests: storage: 8Gi --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: zabbixdb name: zabbixdb namespace: zabbix spec: replicas: 1 selector: matchLabels: app: zabbixdb strategy: {} template: metadata: labels: app: zabbixdb spec: volumes: - name: zabbixdb-data persistentVolumeClaim: claimName: zabbixdb-pvc containers: - image: mysql:8.0 name: mysql ports: - name: mysql containerPort: 3306 protocol: TCP volumeMounts: - name: zabbixdb-data mountPath: /var/lib/mysql env: - name: MYSQL_DATABASE value: 'zabbix' - name: MYSQL_USER value: 'zabbix' - name: MYSQL_PASSWORD value: 'zabbix' - name: MYSQL_ROOT_PASSWORD value: 'zabbix' resources: requests: cpu: 0.1 memory: 128Mi limits: cpu: 0.3 memory: 512Mi --- apiVersion: v1 kind: Service metadata: creationTimestamp: null labels: app: zabbixdb name: zabbixdb namespace: zabbix spec: clusterIP: 10.96.1.99 ports: - name: 3306-3306 port: 3306 protocol: TCP targetPort: 3306 selector: app: zabbixdb type: ClusterIP status: loadBalancer: {}

2.创建命名空间

[root@k8s-master zabbix]# kubectl create namespace zabbix namespace/zabbix created

3.创建zabbix数据库

kubectl apply -f zabbix_mysql.yaml

4.检查pod状态

[root@k8s-master zabbix]# kubectl get pods -n zabbix NAME READY STATUS RESTARTS AGE zabbixdb-69b7cd8dff-jnpjd 1/1 Running 0 11m

四、检查zabbix数据库的service域名

1.运行测试pod

[root@k8s-master ~]# kubectl run busybox --image=busybox:1.28 -- sleep 3600 pod/busybox created

2.进入busybox的pod

[root@k8s-master ~]# kubectl exec -it busybox -- /bin/sh / #

3.查看域名解析

[root@k8s-master ~]# kubectl exec -it busybox -- /bin/sh / # nslookup zabbixdb.zabbix.svc.cluster.local Server: 10.96.0.10 Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local Name: zabbixdb.zabbix.svc.cluster.local Address 1: 10.96.1.99 zabbixdb.zabbix.svc.cluster.local / #

五、安装zabbix-server

1.编写zabbix_server.yaml文件

[root@k8s-master zabbix]# cat zabbix_server.yaml apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: zabbix-server name: zabbix-server namespace: zabbix spec: replicas: 1 selector: matchLabels: app: zabbix-server strategy: {} template: metadata: creationTimestamp: null labels: app: zabbix-server spec: volumes: - name: zabbix-scripts hostPath: path: /usr/lib/zabbix/ - name: zabbix-file hostPath: path: /var/lib/zabbix nodeSelector: zabbix-server: "true" hostNetwork: true containers: - image: zabbix/zabbix-server-mysql:6.0-ubuntu-latest name: zabbix-server-mysql env: - name: DB_SERVER_HOST value: 10.96.1.99 - name: MYSQL_USER value: zabbix - name: MYSQL_PASSWORD value: zabbix resources: {} status: {}

2.给node02节点打上标签

[root@k8s-master zabbix]# kubectl label nodes k8s-node02 zabbix-server=true node/k8s-node02 labeled

3.安装zabbix-server

[root@k8s-master zabbix]# kubectl apply -f zabbix_server.yaml deployment.apps/zabbix-server created

4.检查pod状态

[root@k8s-master zabbix]# kubectl get pods -n zabbix NAME READY STATUS RESTARTS AGE zabbix-server-5f48d9d57d-rkr5p 1/1 Running 0 66s zabbixdb-69b7cd8dff-krt2w 1/1 Running 0 4m22s

六、部署zabbix-web

1.编写zabbix_web.yaml文件

[root@k8s-master zabbix]# cat zabbix_web.yaml apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: zabbix-web name: zabbix-web namespace: zabbix spec: replicas: 1 selector: matchLabels: app: zabbix-web strategy: {} template: metadata: creationTimestamp: null labels: app: zabbix-web spec: containers: - image: zabbix/zabbix-web-nginx-mysql:6.0-ubuntu-latest name: zabbix-web-nginx-mysql env: - name: DB_SERVER_HOST value: zabbixdb.zabbix.svc.cluster.local - name: MYSQL_USER value: zabbix - name: MYSQL_PASSWORD value: zabbix - name: ZBX_SERVER_HOST value: 192.168.3.201 - name: PHP_TZ value: Asia/shanghai resources: {} status: {} --- apiVersion: v1 kind: Service metadata: creationTimestamp: null labels: app: zabbix-web name: zabbix-web namespace: zabbix spec: ports: - name: 8080-8080 port: 8080 protocol: TCP targetPort: 8080 selector: app: zabbix-web type: NodePort status: loadBalancer: {}

2.安装zabbix-web

[root@k8s-master zabbix]# kubectl apply -f zabbix_web.yaml deployment.apps/zabbix-web created service/zabbix-web created

3.查看pod状态

[root@k8s-master zabbix]# kubectl get pods -n zabbix NAME READY STATUS RESTARTS AGE zabbix-server-5f48d9d57d-rkr5p 1/1 Running 0 2m36s zabbix-web-55cd66f74f-9f284 1/1 Running 0 18s zabbixdb-69b7cd8dff-krt2w 1/1 Running 0 5m52s

七、部署zabbix-agent

1.编辑zabbix_agent.yaml

[root@k8s-master zabbix]# cat zabbix_agent.yaml apiVersion: apps/v1 kind: DaemonSet metadata: labels: app: zabbix-agent name: zabbix-agent namespace: zabbix spec: selector: matchLabels: app: zabbix-agent template: metadata: creationTimestamp: null labels: app: zabbix-agent spec: hostNetwork: true containers: - image: zabbix/zabbix-agent:6.0-ubuntu-latest name: zabbix-agent env: - name: ZBX_SERVER_HOST value: 192.168.3.201 resources: {}

2.安装zabbix-agent

kubectl apply -f zabbix_agent.yaml

3.查看pod状态

[root@k8s-master zabbix]# kubectl get pods -n zabbix NAME READY STATUS RESTARTS AGE zabbix-agent-h2qwf 1/1 Running 0 3s zabbix-agent-plnbd 1/1 Running 0 3s zabbix-server-5f48d9d57d-rkr5p 1/1 Running 0 3m2s zabbix-web-55cd66f74f-9f284 1/1 Running 0 44s zabbixdb-69b7cd8dff-krt2w 1/1 Running 0 6m18s

八、访问zabbix的web

1.查看svc

[root@k8s-master zabbix]# kubectl get svc -n zabbix NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE zabbix-web NodePort 10.100.50.7 8080:30775/TCP 59s zabbixdb ClusterIP 10.96.1.99 3306/TCP 6m33s

2.登录web

http://192.168.3.202:30775

3.登录zabbix

初始账号admin/zabbix 4.查询zabbix-server的监控项图表

在这里插入图片描述 在这里插入图片描述

转载自:https://blog.csdn.net/jks212454/article/details/125624373

在这里插入图片描述 扫一扫|加入技术交流群

微信号|17502189550

备注“使用Zabbix年限+企业+姓名”

5000+用户已加入!

在这里插入图片描述

一个人走得快,一群人走得远!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3