<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      基于k8s集群部署安裝Zabbi

      一、搭建k8s集群

      1、檢查環境

      1.1 配置靜態IP

      TYPE=Ethernet??

      網絡類型,通常為以太網 (Ethernet)。

      推薦配置,明確接口類型。

      ??PROXY_METHOD=none??

      代理方法,none表示不使用代理。

      可選,通常保持 none。

      ??BROWSER_ONLY=no??

      可能指示是否僅用于瀏覽器,no表示否。

      可選,通常持 no。

      ??BOOTPROTO=none??

      獲取IP地址的方式。none或 static表示靜態IP,dhcp表示動態獲取。

      必需,靜態配置時必須為 none或 static。

      ??DEFROUTE=yes??

      是否將此接口設置為默認路由(IPv4)。yes表示是。

      推薦,通常主網卡需要設為 yes以確保有默認路由。

      ??IPV4_FAILURE_FATAL=no??

      IPv4配置失敗是否視為致命錯誤。no表示否,系統會繼續啟動。

      推薦,設為 no可避免網絡配置錯誤導致系統無法啟動。

      ??IPV6INIT=yes??

      是否初始化IPv6協議棧。yes表示是。

      可選,如果不需要IPv6,可設為 no。

      ??IPV6_AUTOCONF=yes??

      是否允許自動配置IPv6地址。yes表示是。

      可選,取決于IPv6網絡環境需求。

      ??IPV6_DEFROUTE=yes??

      是否將此接口設置為IPv6的默認路由。yes表示是。

      可選,取決于IPv6網絡環境需求。

      ??IPV6_FAILURE_FATAL=no??

      IPv6配置失敗是否視為致命錯誤。no表示否。

      推薦,設為 no可避免IPv6配置錯誤影響系統啟動。

      ??IPV6_ADDR_GEN_MODE=stable-privacy??

      IPv6地址生成模式,stable-privacy旨在增強隱私性。

      可選,通常系統默認或網絡環境決定。

      ??NAME=ens192??

      網絡連接的邏輯名稱,可自定義。

      可選,但建議配置,便于識別。

      ??DEVICE=ens192??

      指定該配置文件對應的物理網絡設備名稱。

      必需,必須與配置文件文件名中的接口名(如 ifcfg-ens192)一致。

      ??ONBOOT=yes??

      系統啟動時是否自動激活此接口。yes表示是。

      必需,通常需要設為 yes以確保開機后網絡自動啟動。

      ??IPADDR=192.168.3.174??

      手動指定的靜態IPv4地址。

      靜態IP必需,BOOTPROTO=none/static時必需。

      ??PREFIX=16??

      IPv4地址的子網掩碼長度(CIDR表示法),16對應 255.255.0.0。

      靜態IP必需(與 NETMASK二選一)。

      ??GATEWAY=192.168.1.1??

      默認網關的IPv4地址。

      推薦,通常需要配置,否則無法訪問其他網絡。系統多網卡時一般只需一個默認網關。

      ??DNS1=192.168.1.1??

      首選DNS服務器的IPv4地址。

      推薦,通常需要配置,否則可能無法解析域名。也可在 /etc/resolv.conf中設置。

      示例(最小化配置必須的參數)
      ?

      [root@k8s-master01 ~]# vi etc/sysconfig/network-scripts/ifcfg-ens192

      BOOTPROTO="none"

      NAME="ens192"

      DEVICE="ens192"

      ONBOOT="yes"

      IPADDR=192.168.3.174

      PREFIX=24

      GATEWAY=192.168.1.1

      DNS1=114.114.114.114

      [root@k8s-master01 ~]# systemctl restart network #刷新網絡服務

      [root@k8s-master01 ~]# ip a #查看ip

      1.2 配置添加hosts

      [root@k8s-master01 ~]# cat /etc/hosts

      127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

      ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

      192.168.3.174 k8s-master01

      192.168.3.175 k8s-node01

      192.168.3.176 k8s-node02

      [root@k8s-master01 ~]#

      2、配置docker環境

      (1)清理現有 Docker 并配置源

      ?

      # 卸載可能存在的舊版本 Docker

      sudo yum remove docker docker-engine docker-ce docker-* containerd.io

      # 添加阿里云 CentOS 8 基礎源

      sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo

      # 添加 Docker CE 源(阿里云鏡像)

      sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

      # 修正 yum 變量(關鍵步驟!強制使用 centos 8 的包)

      echo "8" | sudo tee /etc/yum/vars/centos_version > /dev/null

      sudo sed -i 's/$releasever/$centos_version/g' /etc/yum.repos.d/docker-ce.repo

      sudo sed -i 's/$releasever/$centos_version/g' /etc/yum.repos.d/CentOS-Base.repo

      # 更新緩存

      sudo yum makecache

      # 查看所有可用的 Docker CE 版本

      yum list docker-ce --showduplicates | sort -r

      #讓包管理器自動解決依賴關系。??注意??,這會安裝軟件源中標記為默認或最新的版本

      yum install -y docker-ce docker-ce-cli containerd.io

      或# 選擇一個較新但非最新的版本進行安裝(例如 26.1.3)

      yum install -y docker-ce-26.1.3-1.el8 docker-ce-cli-26.1.3-1.el8 containerd.io

      (2)配置docker的國內源

      ?

      # 創建/etc/docker目錄(如果不存在)

      sudo mkdir -p /etc/docker

      # 配置Docker守護進程,尤其是cgroup驅動

      cat <<EOF | sudo tee /etc/docker/daemon.json

      {

      "registry-mirrors": ["https://hub.docker-alhk.dkdun.com/"],

      "exec-opts": ["native.cgroupdriver=systemd"]

      }

      EOF

      # 重啟Docker以應用配置

      sudo systemctl daemon-reload

      sudo systemctl restart docker

      # 設置Docker開機自啟

      sudo systemctl enable docker.service

      sudo systemctl status dokcer

      3、配置k8s組件源

      (1)配置國內yum源

      cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo

      [kubernetes]

      name=Kubernetes

      baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

      enabled=1

      gpgcheck=0

      repo_gpgcheck=0

      gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

      EOF

      # 更新索引緩沖

      yum makecache

      (2)安裝kubelet、kubeadm和kubectl?

      # 安裝指定版本,建議指定版本以避免兼容性問題

      yum install -y kubeadm-1.23.17-0 kubelet-1.23.17-0 kubectl-1.23.17-0 --disableexcludes=kubernetes

      # 或者安裝當前最新穩定版

      # sudo yum install -y kubelet kubeadm kubectl

      # 啟用kubelet服務,但暫不啟動(需初始化后才會正常)

      sudo systemctl enable kubelet?

      4、集群初始化

      (1)初始化Kubernetes控制平面(Master節點)
         以下步驟僅在Master節點上執行:

      ?

      kubeadm init \

      --apiserver-advertise-address=192.168.3.174 \ # 替換為你的Master節點IP

      --image-repository registry.aliyuncs.com/google_containers \ # 使用國內鏡像源

      --kubernetes-version=v1.23.17 \ # 指定與安裝一致的版本

      --service-cidr=10.96.0.0/12 \ #指定 Service 網絡的 IP 地址范圍。

      --pod-network-cidr=10.244.0.0/16 # 設置Pod網絡CIDR,需與后續CNI插件匹配

      ?

      成功后會提示一下信息

      IMG_256

      繼續執行

      mkdir -p $HOME/.kube

      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

      sudo chown $(id -u):$(id -g) $HOME/.kube/config

      在node節點執行加入到集群

      ?

      kubeadm join 192.168.3.174:6443 --token g5aqri.02haydobvjfu7dnl \

      --discovery-token-ca-cert-hash sha256:95fd4a7fd82ccde7b329ea551130340a837a3aa612145caa2435d2c18b3c91ef

      查看集群

      ?

      [root@k8s-master01 ~]# kubectl label node k8s-node01 node-role.kubernetes.io/worker=worker

      node/k8s-node01 labeled

      [root@k8s-master01 ~]# kubectl label node k8s-node02 node-role.kubernetes.io/worker=worker

      node/k8s-node02 labeled

      [root@k8s-master01 ~]# kubectl get nodes

      NAME STATUS ROLES AGE VERSION

      k8s-master01 NotReady control-plane,master 4h29m v1.23.17

      k8s-node01 NotReady worker 3m45s v1.23.17

      k8s-node02 NotReady worker 41m v1.23.17

      [root@k8s-master01 ~]#

      #過一段時間

      [root@k8s-master01 ~]# kubectl get nodes

      NAME STATUS ROLES AGE VERSION

      k8s-master01 Ready control-plane,master 24m v1.23.17

      k8s-node01 Ready worker 18m v1.23.17

      k8s-node02 Ready worker 18m v1.23.17

      二、部署zabbix

      如果鏡像拉取有問題,可先手動導入(連接下載解壓:通過網盤分享的文件:zabbix-all.zip
      鏈接: https://pan.baidu.com/s/1VsVlPF8RAZUlP3F2b5IxYQ?pwd=5h2u 提取碼: 5h2u)

      ?

      # 導入 Zabbix Server

      docker load -i zabbix-server-mysql.tar.gz

      # 導入 Zabbix Web

      docker load -i zabbix-web-nginx-mysql.tar.gz

      # 導入 Zabbix Agent

      docker load -i zabbix-agent.tar.gz

      #導入 數據庫

      docker load -i mysql:8.0.gz

      1、安裝zabbix的數據庫(MySQL或PostgreSQL)

      (1)本次測試選擇MySQL,創建mysql-deploy.yaml文件

      ?

      apiVersion: v1

      kind: PersistentVolumeClaim

      metadata:

      name: mysql-pvc

      namespace: zabbix

      spec:

      accessModes:

      - ReadWriteOnce

      resources:

      requests:

      storage: 10Gi # 根據需求調整存儲大小

      # 若有StorageClass,取消注釋并指定(如:storageClassName: "standard")

      # storageClassName: "your-storage-class"

      ---

      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: mysql:8.0 # 官方MySQL鏡像

      imagePullPolicy: IfNotPresent

      ports:

      - containerPort: 3306

      env:

      - name: MYSQL_ROOT_PASSWORD

      value: "Root@123" # root密碼,建議修改

      - name: MYSQL_DATABASE

      value: "zabbix" # Zabbix數據庫名

      - name: MYSQL_USER

      value: "zabbix" # Zabbix數據庫用戶

      - name: MYSQL_PASSWORD

      value: "zabbix" # Zabbix用戶密碼,建議修改

      volumeMounts:

      - name: mysql-data

      mountPath: /var/lib/mysql # MySQL數據目錄

      resources:

      requests:

      cpu: 300m

      memory: 300Mi

      limits:

      cpu: 800m

      memory: 800Mi

      volumes:

      - name: mysql-data

      persistentVolumeClaim:

      claimName: mysql-pvc

      ---

      apiVersion: v1

      kind: Service

      metadata:

      name: mysql

      namespace: zabbix

      spec:

      selector:

      app: mysql

      ports:

      - port: 3306

      targetPort: 3306

      type: ClusterIP # 僅集群內部訪問

      (2) 應用部署

      kubectl apply -f mysql-deploy.yaml

      (3)驗證 MySQL 是否運行

      ?

      kubectl get pods -n zabbix -l app=mysql

      # 狀態應為Running

      示例:

      ?

      [root@k8s-master01 ~]# kubectl get pods -n zabbix -l app=mysql

      NAME READY STATUS RESTARTS AGE

      mysql-758b6cf559-7d2kh 1/1 Running 0 40m

      [root@k8s-master01 ~]#

      2、部署zabbix server

      (1)Zabbix Server 是核心組件,負責處理監控數據。需連接 MySQL,創建zabbix-server-deploy.yaml

      ?

      [root@k8s-master01 ~]# cat zabbix-server-deploy.yaml

      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: zabbix/zabbix-server-mysql:latest # 官方Zabbix Server鏡像(6.4版本)

      imagePullPolicy: IfNotPresent

      ports:

      - containerPort: 10051 # Zabbix Server默認端口

      env:

      - name: DB_SERVER_HOST

      value: "mysql" # 對應MySQL Service名稱

      - name: MYSQL_DATABASE

      value: "zabbix"

      - name: MYSQL_USER

      value: "zabbix"

      - name: MYSQL_PASSWORD

      value: "zabbix" # 與MySQL中Zabbix用戶密碼一致

      - name: MYSQL_ROOT_PASSWORD

      value: "Root@123" # MySQL root密碼(用于初始化數據庫)

      resources:

      requests:

      cpu: 300m

      memory: 300Mi

      limits:

      cpu: 1000m

      memory: 800Mi

      ---

      apiVersion: v1

      kind: Service

      metadata:

      name: zabbix-server

      namespace: zabbix

      spec:

      selector:

      app: zabbix-server

      ports:

      - port: 10051

      targetPort: 10051

      type: ClusterIP # 內部訪問

      [root@k8s-master01 ~]#

      (2)應用部署

      ?

      kubectl apply -f zabbix-server-deploy.yaml

      (3)驗證 Zabbix Server 狀態

      ?

      kubectl get pods -n zabbix -l app=zabbix-server

      3、部署 Zabbix Web 前端(Nginx+PHP)

      (1)Zabbix Web 提供可視化界面,需連接 Zabbix Server 和 MySQL。創建zabbix-web-deploy.yaml

      ?

      [root@k8s-master01 ~]# cat zabbix-web-deploy.yaml

      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: zabbix/zabbix-web-nginx-mysql:latest # 官方Web鏡像(Nginx+PHP)

      imagePullPolicy: IfNotPresent

      ports:

      - containerPort: 8080 # Web端口

      env:

      - name: ZBX_SERVER_HOST

      value: "zabbix-server" # 對應Zabbix Server Service名稱

      - name: DB_SERVER_HOST

      value: "mysql"

      - name: MYSQL_DATABASE

      value: "zabbix"

      - name: MYSQL_USER

      value: "zabbix"

      - name: MYSQL_PASSWORD

      value: "zabbix"

      - name: PHP_TZ

      value: "Asia/Shanghai" # 設置時區為上海

      resources:

      requests:

      cpu: 200m

      memory: 256Mi

      limits:

      cpu: 1000m

      memory: 512Mi

      ---

      apiVersion: v1

      kind: Service

      metadata:

      name: zabbix-web

      namespace: zabbix

      spec:

      selector:

      app: zabbix-web

      ports:

      - port: 80

      targetPort: 8080

      type: NodePort # 暴露到節點端口,便于外部訪問

      [root@k8s-master01 ~]#

      (2)應用部署

      ?

      kubectl apply -f zabbix-web-deploy.yaml

      (3)驗證 Web 狀態

      ?

      kubectl get pods -n zabbix -l app=zabbix-web

      ?

      [root@k8s-master01 ~]# kubectl get pods -n zabbix -l app=zabbix-web

      NAME READY STATUS RESTARTS AGE

      zabbix-web-7bc9f48d8f-7bvvz 1/1 Running 0 27m

      [root@k8s-master01 ~]#

      4、部署 Zabbix Agent(可選,監控 K8s 節點)

      ?

      [root@k8s-master01 ~]# cat zabbix-agent-daemonset.yaml

      apiVersion: apps/v1

      kind: DaemonSet

      metadata:

      name: zabbix-agent

      namespace: zabbix

      spec:

      selector:

      matchLabels:

      app: zabbix-agent

      template:

      metadata:

      labels:

      app: zabbix-agent

      spec:

      hostNetwork: true

      # 新增:容忍 master 節點的污點(關鍵!)

      tolerations:

      - key: "node-role.kubernetes.io/master"

      operator: "Exists"

      effect: "NoSchedule"

      # 保留原有其他容忍(內存壓力、磁盤壓力等,無需修改)

      - key: "node.kubernetes.io/memory-pressure"

      operator: "Exists"

      effect: "NoSchedule"

      - key: "node.kubernetes.io/disk-pressure"

      operator: "Exists"

      effect: "NoSchedule"

      # 容器配置不變(保留原有內容)

      containers:

      - name: zabbix-agent

      image: zabbix/zabbix-agent:latest

      ports:

      - containerPort: 10050

      env:

      - name: ZBX_SERVER_HOST

      value: "zabbix-server"

      - name: ZBX_HOSTNAME

      valueFrom:

      fieldRef:

      fieldPath: spec.nodeName

      resources:

      requests:

      cpu: 50m

      memory: 64Mi

      limits:

      cpu: 100m

      memory: 128Mi

      [root@k8s-master01 ~]#

      ?

      kubectl apply -f zabbix-agent-daemonset.yaml

      ?

      [root@k8s-master01 ~]# kubectl get pods -n zabbix -l app=zabbix-agent -o wide

      NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES

      zabbix-agent-6lgmp 1/1 Running 0 41m 192.168.3.174 k8s-master01 <none> <none>

      zabbix-agent-hm6fz 1/1 Running 0 41m 192.168.3.176 k8s-node02 <none> <none>

      zabbix-agent-t7jd5 1/1 Running 0 33m 192.168.3.175 k8s-node01 <none> <none>

      [root@k8s-master01 ~]#

      5、訪問 Zabbix Web 界面

      (1)獲取節點 IP(任意 worker 節點或 master 節點均可

      ?

      [root@k8s-master01 ~]# kubectl get nodes -o wide

      NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME

      k8s-master01 Ready control-plane,master 30d v1.23.17 192.168.3.174 <none> Kylin Linux Advanced Server V10 (Lance) 4.19.90-52.22.v2207.ky10.x86_64 docker://20.10.24

      k8s-node01 Ready worker 30d v1.23.17 192.168.3.175 <none> Kylin Linux Advanced Server V10 (Lance) 4.19.90-52.22.v2207.ky10.x86_64 docker://20.10.24

      k8s-node02 Ready worker 30d v1.23.17 192.168.3.176 <none> Kylin Linux Advanced Server V10 (Lance) 4.19.90-52.22.v2207.ky10.x86_64 docker://20.10.24

      [root@k8s-master01 ~]#

      (2)訪問地址:http://<節點IP>:<NodePort>

      ?

      [root@k8s-master01 ~]# kubectl get svc zabbix-web -n zabbix

      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

      zabbix-web NodePort 10.99.186.185 <none> 80:30211/TCP 177m

      [root@k8s-master01 ~]#

      (3)登錄

      ?

      登錄:

      用戶名:Admin

      密碼:zabbix(首次登錄建議修改)

      ?IMG_256

      posted @ 2025-10-15 15:15  樂維_lwops  閱讀(29)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产成人精品1024免费下载| 性色在线视频精品| 日韩不卡手机视频在线观看| 欧美人与动牲猛交A欧美精品| 日韩人妻不卡一区二区三区| 人妻中文字幕精品系列| 日本视频一两二两三区| 国产偷自一区二区三区在线| 精品人妻系列无码天堂| 亚洲欧美综合精品成| 日韩精品一区二区三区久| 久久精品国产亚洲av麻豆小说 | 加勒比中文字幕无码一区| 亚洲自拍偷拍中文字幕色| 成 人色 网 站 欧美大片在线观看 | 国产成人一区二区不卡| 少妇人妻无码专区在线视频| 国产精品视频不卡一区二区| 国产精品免费看久久久| 国产成人精品一区二区三区| 亚洲精品一区国产欧美| 亚洲一区二区精品偷拍| 华宁县| 国产美女午夜福利视频| 国产亚洲欧美另类一区二区| 日韩有码精品中文字幕| 视频一区视频二区亚洲视频| 欧美成人VA免费大片视频| 成人无码午夜在线观看| 国产一区二区三区美女| 一本一本久久a久久精品综合| 国产四虎永久免费观看| 国产黄色看三级三级三级| 91精品乱码一区二区三区| 2019香蕉在线观看直播视频| 亚洲第四色在线中文字幕| 亚洲精品一区二区三区在线观看| 国产欧亚州美日韩综合区| 国产成人午夜福利在线播放| 精品国产av一区二区三区| 日本五十路熟女一区二区|