《Kubernetes部署篇:基于Kylin V10+ARM架构CPU+外部etcd使用containerd部署K8S 1.26.15容器版集群(多主多从)》

今天 3317阅读 0评论

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:企业级K8s集群运维实战


一、架构图

如下图所示:

《Kubernetes部署篇:基于Kylin V10+ARM架构CPU+外部etcd使用containerd部署K8S 1.26.15容器版集群(多主多从)》 第1张


2、部署规划

云平台 主机名 K8S版本 系统版本 CPU架构 内核版本I IP地址 备注
华为云 k8s-master-28 1.26.15 Kylin Linux Advanced Server V10 aarch64 4.19.90-17.5.ky10.aarch64 172.18.1.28 control-plane节点+etcd节点
华为云 k8s-master-42 1.26.15 Kylin Linux Advanced Server V10 aarch64 4.19.90-17.5.ky10.aarch64 172.18.1.42 control-plane节点+etcd节点
华为云 k8s-master-134 1.26.15 Kylin Linux Advanced Server V10 aarch64 4.19.90-17.5.ky10.aarch64 172.18.1.134 control-plane节点+etcd节点
华为云 k8s-worker-67 1.26.15 Kylin Linux Advanced Server V10 aarch64 4.19.90-17.5.ky10.aarch64 172.18.1.67 worker节点
华为云----- 172.18.1.189 vip(虚拟ip)
华为云 k8s-lb-01- Kylin Linux Advanced Server V10 aarch64 4.19.90-17.5.ky10.aarch64 172.18.1.97 Nginx + keepalived
华为云 k8s-lb-02- Kylin Linux Advanced Server V10 aarch64 4.19.90-17.5.ky10.aarch64 172.18.1.116 Nginx + keepalived

4、基础软件版本

软件 版本 安装方式
kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy 1.26.15 容器镜像
kubeadm、kubectl、kubelet 1.26.15 二进制
etcd v3.5.10 二进制
coredns v1.9.3 容器镜像
calico v3.26.4 容器镜像
pause 3.9 容器镜像
cri-containerd-cni 1.7.2 二进制
ipvsadm 1.29 yum
ipset 7.3 yum
conntrack 1.4.4 yum
socat 1.7.3.2 yum
ebtables 2.0.10 yum
sysstat 12.1.6 yum
cfssljson 1.6.5 二进制
cfssl 1.6.5 二进制
cfssl-certinfo 1.6.5 二进制

说明

1、cri-containerd-cni包包含containerd、runc、cni打工插件。安装containerd,需要同时安装runc及cni网络插件。 containerd不能直接操作容器,需要通过runc来运行容器。默认Containerd管理的容器仅有lo网络(无法访问容器之外的网络), 如果需要访问容器之外的网络则需要安装CNI网络插件。CNI(Container Network Interface) 是一套容器网络接口规范,用于为容器分配ip地址,通过CNI插件Containerd管理的容器可以访问容器之外的网络。

2、ipvsadm:这是一个用于管理Linux内核中的IP虚拟服务器(IPVS)的工具。它允许您配置和管理负载均衡、网络地址转换(NAT)和透明代理等功能。

3、ipset:这是一个用于管理Linux内核中的IP集合的工具。它允许您创建和管理IP地址、IP地址范围和端口号的集合,以便在防火墙规则中使用。

4、conntrack:这是一个用于连接跟踪的内核模块和工具。它允许您跟踪网络连接的状态和信息,如源IP地址、目标IP地址、端口号等。

5、socat(网络工具):这是一个用于在Linux系统中建立各种类型网络连接的工具。在Kubernetes网络中,socat可以 用于创建端口转发、代理和转发等网络连接。

6、ebtables(以太网桥规则管理工具):这是一个用于在Linux系统中管理以太网桥规则的工具。在Kubernetes中,ebtables 用于在网络分区中实现容器之间的隔离和通信。

7、sysstat:这是一个用于系统性能监控和报告的工具集。它包括一些实用程序,如sar、iostat和mpstat,用于收集和显示系统资源使用情况的统计信息。


6、k8s版本与calico版本对应关系

calico版本 calico yml文件下载 支持K8S版本
v3.24.x calico.yml v1.22、v1.23、v1.24、v1.25
v3.25.x calico.yml v1.23、v1.24、v1.25、v1.26、v1.27、v1.28
v3.26.x calico.yml v1.24、v1.25、v1.26、v1.27、v1.28
v3.27.x calico.yml v1.27、v1.28、v1.29

3.2、配置主机hosts

说明:以下操作无论是control-plane节点和worker节点均需要执行。

[root@k8s-master-28 ~]# cat >> /etc/hosts  

3.4、设置ulimit

说明:以下操作无论是control-plane节点、worker节点、kube-lb节点均需要执行。

1、检查ulimit

[root@k8s-master-28 ~]# ulimit -SHn 65535
[root@k8s-master-28 ~]# ulimit -a

2、设置ulimit, 如果已经设置,则忽略,如果未设置请按照如下要求设置。

[root@k8s-master-28 ~]# vim /etc/security/limits.conf
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535
root soft nproc 65535
root hard nproc 65535
* soft nproc 65535
* hard nproc 65535

3.6、关闭swap分区

说明:以下操作无论是control-plane节点、worker节点、kube-lb节点均需要执行。

[root@k8s-master-28 ~]# swapoff -a && sed -i 's/.*swap.*/#&/' /etc/fstab

3.8、修改内核参数

说明:以下操作无论是control-plane节点和worker节点均需要执行。

1、创建名为/etc/modules-load.d/containerd.conf 的文件,并且将 overlay和br_netfilter写入。这两个模块overlay 和br_netfilter是containerd运行所需的内核模块

[root@k8s-master-28 ~]# modprobe overlay
[root@k8s-master-28 ~]# modprobe br_netfilter
[root@k8s-master-28 ~]# cat  

四、安装etcd集群

4.1、生成etcd集群相关证书

说明:手动创建证书比较麻烦,这里采用了etcd证书一键生成工具来创建etcd相关证书,可以在任意一节点主机上生成etcd集群相关证书, 当前环境默认在k8s-master-28节点上使用工具一键生成etcd证书。然后手动拷贝到证书到其它control-plane节点相同目录上。


2、生成证书

说明:以下操作只需在k8s-master-28节点上执行。

[root@k8s-master-28 etcd_ssl]# ./op.sh build

如下图所示:

《Kubernetes部署篇:基于Kylin V10+ARM架构CPU+外部etcd使用containerd部署K8S 1.26.15容器版集群(多主多从)》 第2张


注意:

1、其中ca-key.pem、ca.pem、apiserver-etcd-client.pem、apiserver-etcd-client-key.pem文件是kube-apiserver连接etcd所需证书。这4个证书文件必须要上传到 所有control-plane节点上,需提前手动创建好证书存放目录。其中ca-key.pem、ca.pem建议目录为/etc/kubernetes/pki/etcd,apiserver-etcd-client.pem、apiserver-etcd-client-key.pem建议目录为 /etc/kubernetes/pki。

2、其中ca-key.pem、ca.pem、healthcheck-client-key.pem、healthcheck-client.pem、peer-key.pem、peer.pem、server-key.pem、server.pem是etcd集群所需要证书。这8个证书文件必须要上传到 所有etcd节点上。这8个证书文件建议目录为/etc/kubernetes/pki/etcd。

3、如果某一个节点如k8s-master-28节点,它即为control-plane节点,也是etcd节点,则证书文件列表如下图所示:

《Kubernetes部署篇:基于Kylin V10+ARM架构CPU+外部etcd使用containerd部署K8S 1.26.15容器版集群(多主多从)》 第3张

4、这里就默认在k8s-master-28(即172.18.1.28)节点上生成相关证书,并将证书分别复制到etcd各个节点相应目录及control-plane节点相关目录下,其中证书目录需提前创建好,当前K8S集群环境apiserver节点和etcd节点为同一主机,所以拷贝完之后证书文件列表如上图所示,这里就以k8s-master-28(即172.18.1.28)节点展示,其它节点也跟这个一样。

证书文件 秘钥文件 建议路径 节点 说明
ca.pem ca-key.pem /etc/kubernetes/pki/etcd etcd所在节点 etcd集群ca根证书
peer.pem peer-key.pem /etc/kubernetes/pki/etcd etcd所在节点 etcd集群peer证书
server.pem server-key.pem /etc/kubernetes/pki/etcd etcd所在节点 etcd集群server证书
healthcheck-client.pem healthcheck-client-key.pem /etc/kubernetes/pki/etcd etcd所在节点 etcd集群client证书
ca.pem ca-key.pem /etc/kubernetes/pki apiserver所在节点 apiserver连接etcd客户端证书

4.2.2、创建Service文件

1、k8s-master-28节点

说明:以下操作只需在k8s-master-28节点上执行。

[root@k8s-master-28 ~]# vim /etc/systemd/system/etcd.service 
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
Documentation=https://github.com/coreos
[Service]
Type=notify
WorkingDirectory=/var/lib/etcd
ExecStart=/usr/bin/etcd \
  --name=k8s-master-28 \
  --cert-file=/etc/kubernetes/pki/etcd/server.pem \
  --key-file=/etc/kubernetes/pki/etcd/server-key.pem \
  --peer-cert-file=/etc/kubernetes/pki/etcd/peer.pem \
  --peer-key-file=/etc/kubernetes/pki/etcd/peer-key.pem \
  --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.pem \
  --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.pem \
  --initial-advertise-peer-urls=https://172.18.1.28:2380 \
  --listen-peer-urls=https://172.18.1.28:2380 \
  --listen-client-urls=https://172.18.1.28:2379,http://127.0.0.1:2379 \
  --advertise-client-urls=https://172.18.1.28:2379 \
  --initial-cluster-token=etcd-cluster \
  --initial-cluster="k8s-master-28=https://172.18.1.28:2380,k8s-master-42=https://172.18.1.42:2380,k8s-master-134=https://172.18.1.134:2380" \
  --initial-cluster-state=new \
  --data-dir=/var/lib/etcd \
  --wal-dir="" \
  --snapshot-count=50000 \
  --auto-compaction-retention=1 \
  --auto-compaction-mode=periodic \
  --max-request-bytes=10485760 \
  --quota-backend-bytes=8589934592
Restart=always
RestartSec=15
LimitNOFILE=65536
OOMScoreAdjust=-999
[Install]
WantedBy=multi-user.target

2、k8s-master-42节点

说明:以下操作只需在k8s-master-42节点上执行。

[root@k8s-master-42 ~]# vim /etc/systemd/system/etcd.service 
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
Documentation=https://github.com/coreos
[Service]
Type=notify
WorkingDirectory=/var/lib/etcd
ExecStart=/usr/bin/etcd \
  --name=k8s-master-42 \
  --cert-file=/etc/kubernetes/pki/etcd/server.pem \
  --key-file=/etc/kubernetes/pki/etcd/server-key.pem \
  --peer-cert-file=/etc/kubernetes/pki/etcd/peer.pem \
  --peer-key-file=/etc/kubernetes/pki/etcd/peer-key.pem \
  --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.pem \
  --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.pem \
  --initial-advertise-peer-urls=https://172.18.1.42:2380 \
  --listen-peer-urls=https://172.18.1.42:2380 \
  --listen-client-urls=https://172.18.1.42:2379,http://127.0.0.1:2379 \
  --advertise-client-urls=https://172.18.1.42:2379 \
  --initial-cluster-token=etcd-cluster \
  --initial-cluster="etcd01=https://172.18.1.28:2380,k8s-master-42=https://172.18.1.42:2380,k8s-master-134=https://172.18.1.134:2380" \
  --initial-cluster-state=new \
  --data-dir=/var/lib/etcd \
  --wal-dir="" \
  --snapshot-count=50000 \
  --auto-compaction-retention=1 \
  --auto-compaction-mode=periodic \
  --max-request-bytes=10485760 \
  --quota-backend-bytes=8589934592
Restart=always
RestartSec=15
LimitNOFILE=65536
OOMScoreAdjust=-999
[Install]
WantedBy=multi-user.target

3、k8s-master-134节点

说明:以下操作只需在k8s-master-134节点上执行。

[root@k8s-master-134 ~]# vim /etc/systemd/system/etcd.service
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
Documentation=https://github.com/coreos
[Service]
Type=notify
WorkingDirectory=/var/lib/etcd
ExecStart=/usr/bin/etcd \
  --name=k8s-master-134 \
  --cert-file=/etc/kubernetes/pki/etcd/server.pem \
  --key-file=/etc/kubernetes/pki/etcd/server-key.pem \
  --peer-cert-file=/etc/kubernetes/pki/etcd/peer.pem \
  --peer-key-file=/etc/kubernetes/pki/etcd/peer-key.pem \
  --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.pem \
  --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.pem \
  --initial-advertise-peer-urls=https://172.18.1.134:2380 \
  --listen-peer-urls=https://172.18.1.134:2380 \
  --listen-client-urls=https://172.18.1.134:2379,http://127.0.0.1:2379 \
  --advertise-client-urls=https://172.18.1.134:2379 \
  --initial-cluster-token=etcd-cluster \
  --initial-cluster="etcd01=https://172.18.1.28:2380,k8s-master-42=https://172.18.1.42:2380,k8s-master-134=https://172.18.1.134:2380" \
  --initial-cluster-state=new \
  --data-dir=/var/lib/etcd \
  --wal-dir="" \
  --snapshot-count=50000 \
  --auto-compaction-retention=1 \
  --auto-compaction-mode=periodic \
  --max-request-bytes=10485760 \
  --quota-backend-bytes=8589934592
Restart=always
RestartSec=15
LimitNOFILE=65536
OOMScoreAdjust=-999
[Install]
WantedBy=multi-user.target

4.2.4、检查etcd集群状态

说明:以下操作需在可在任意一个etcd节点上执行。

etcdctl --endpoints="https://172.18.1.28:2379,https://172.18.1.42:2379,https://172.18.1.134:2379" \
--cacert /etc/kubernetes/pki/etcd/ca.pem --cert /etc/kubernetes/pki/etcd/peer.pem \
--key  /etc/kubernetes/pki/etcd/peer-key.pem endpoint health
etcdctl --endpoints="https://172.18.1.28:2379,https://172.18.1.42:2379,https://172.18.1.134:2379" \
--cacert /etc/kubernetes/pki/etcd/ca.pem --cert /etc/kubernetes/pki/etcd/peer.pem \
--key  /etc/kubernetes/pki/etcd/peer-key.pem endpoint status --write-out table
etcdctl --endpoints="https://172.18.1.28:2379,https://172.18.1.42:2379,https://172.18.1.134:2379" \
--cacert /etc/kubernetes/pki/etcd/ca.pem --cert /etc/kubernetes/pki/etcd/peer.pem \
--key  /etc/kubernetes/pki/etcd/peer-key.pem member list

五、安装containerd容器引擎

说明:以下操作无论是control-plane节点和worker节点均需要执行。

1、升级libseccomp

说明:经过多次试验,安装k8s1.26.15版本时,如果libseccomp版本为2.4.1,则会报错unable to retrieve OCI runtime error。

[root@k8s-master-28 ~]# rpm -qa | grep libseccomp
libseccomp-2.4.1-3.ky10.aarch64
[root@k8s-master-28 ~]# rpm -e `rpm -qa | grep libseccomp` --nodeps
[root@k8s-master-28 ~]# yum install gperf -y
[root@k8s-master-28 ~]# wget https://github.com/seccomp/libseccomp/releases/download/v2.5.4/libseccomp-2.5.4.tar.gz
[root@k8s-master-28 ~]# tar axf libseccomp-2.5.4.tar.gz && cd libseccomp-2.5.4
[root@k8s-master-28 ~]# ./configure && make && make install
[root@k8s-master-28 libseccomp-2.5.4]# find / -name libseccomp.so.2
/usr/local/lib/libseccomp.so.2
/root/libseccomp-2.5.4/src/.libs/libseccomp.so.2
[root@k8s-master-28 ~]# ln -s /usr/local/lib/libseccomp.so.2 /usr/lib64/libseccomp.so.2

2、安装软件包

[root@k8s-master-28 ~]# wget https://github.com/containerd/containerd/releases/download/v1.7.2/cri-containerd-cni-1.7.2-linux-arm64.tar.gz
[root@k8s-master-28 ~]# tar axf cri-containerd-cni-1.7.2-linux-arm64.tar.gz -C /

3、修改配置文件

[root@k8s-master-28 ~]# mkdir -p /etc/containerd&& containerd config default > /etc/containerd/config.toml
[root@k8s-master-28 ~]# sed -i 's#SystemdCgroup = false#SystemdCgroup = true#g' /etc/containerd/config.toml
[root@k8s-master-28 ~]# sed -i 's#sandbox_image = "registry.k8s.io/pause:3.8"#sandbox_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9"#g' /etc/containerd/config.toml

4、网络插件CNI配置文件

[root@k8s-master-28 ~]#  rm -f /etc/cni/net.d/10-containerd-net.conflist 
[root@k8s-master-28 ~]#  cat 
    "name": "mynet",
    "cniVersion": "0.3.1",
    "type": "bridge",
    "bridge": "mynet0",
    "isDefaultGateway": true,
    "ipMasq": true,
    "hairpinMode": true,
    "ipam": {
        "type": "host-local",
        "subnet": "10.48.0.0/16"
    }
}
EOF
pfont face="方正舒体 Medium" color="#000000" size="3" 5、重启containerd服务并设置开机自启/font/p pre class="brush:python;toolbar:false"[root@k8s-master-28 ~]# systemctl daemon-reload && systemctl restart containerd && systemctl enable containerd /pre pfont face="方正舒体 Medium" color="#000000" size="3" 如下图所示:/font/ppimg src="https://img-blog.csdnimg.cn/direct/853983fee16e410a9d6f7d867d6fb6a6.png" //p hr color="#000000" size="1"" / h2font face="方正舒体" color="#0099ff" size="5"六、安装kubelet、kubeadm和kubectl/font/h2 pfont face="方正舒体" color="#FF0000" size="3" 说明:以下操作无论是control-plane节点和worker节点均需要执行。/font/p h3font face="方正舒体" color="#0099ff" size="4" 5.1、方法一(yum源)/font/h3 pfont face="方正舒体 Medium" color="#000000" size="3" 1、编辑镜像源文件,加入阿里云k8s镜像源配置/font/p pre class="brush:python;toolbar:false"[root@k8s-master-28 ~]# cat EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-aarch64/ 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 /pre pfont face="方正舒体 Medium" color="#000000" size="3" 2、安装指定版本/font/p pre class="brush:python;toolbar:false"[root@k8s-master-28 ~]# yum --showduplicates list kubeadm kubectl kubelet [root@k8s-master-28 ~]# yum install -y kubelet-1.26.9 kubeadm-1.26.9 kubectl-1.26.9 /pre pfont face="方正舒体 Medium" color="#000000" size="3" 3、设置kubectl开机自启/font/p pre class="brush:python;toolbar:false"[root@k8s-master-28 ~]# systemctl enable kubelet /pre pfont face="方正舒体" color="#FF0000" size="4" 注意:由于在Kylin Linux Advanced Server V10系统的kubernetes源中,使用yum最高只能安装1.26大版本中的1.26.9小版本,但是我安装的是1.26.15版本,所以当前环境中未采用此方法。/font/p hr color="#000000" size="1"" />

5.2、方法二(二进制)

说明:以下操作无论是control-plane节点和worker节点均需要执行。

1、准备kubeadm、kubelet、kubectl二进制文件

# 方法一
[root@k8s-master-28 ~]# wget -P /usr/bin/ https://dl.k8s.io/v1.26.15/bin/linux/arm64/kubeadm
[root@k8s-master-28 ~]# wget -P /usr/bin/ https://dl.k8s.io/v1.26.15/bin/linux/arm64/kubelet
[root@k8s-master-28 ~]# wget -P /usr/bin/ https://dl.k8s.io/v1.26.15/bin/linux/arm64/kubectl
# 方法二
[root@k8s-master-28 ~]# wget https://dl.k8s.io/v1.26.15/kubernetes-client-linux-arm64.tar.gz
[root@k8s-master-28 ~]# tar axf kubernetes-client-linux-arm64.tar.gz
[root@k8s-master-28 ~]# cp kubernetes/node/bin/{kubeadm,kubelet,kubectl}  /usr/bin

2、准备kubelet.service文件

[root@k8s-master-28 ~]# wget https://raw.githubusercontent.com/kubernetes/release/v0.4.0/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service
[root@k8s-master-28 ~]# cp kubelet.service /usr/lib/systemd/system/kubelet.service

3、准备10-kubeadm.conf文件

[root@k8s-master-28 ~]# wget https://raw.githubusercontent.com/kubernetes/release/v0.4.0/cmd/kubepkg/templates/latest/deb/kubeadm/10-kubeadm.conf
[root@k8s-master-28 ~]# mkdir -p /usr/lib/systemd/system/kubelet.service.d
[root@k8s-master-28 ~]# cp 10-kubeadm.conf /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf

4、设置kubectl开机自启

[root@k8s-master-28 ~]# systemctl enable kubelet

八、calico镜像及yaml文件下载

calico 3.26版本对应K8S版本,如下图所示:

# 支持系统
RedHat Linux 7
CentOS 7
Flatcar Container Linux
Fedora CoreOS
Ubuntu 18.04
Debian 8
# 支持k8s版本
v1.24
v1.25
v1.26
v1.27
v1.28

九、安装负载均衡高可用

k8s的高可用,主要是实现Master节点的高可用。APIServer以HTTP API提供接口服务,可以使用常规的四层或七层代理实现高可用和负载均衡。如Nginx、Haproxy等代理服务器。使用vip和keepalive实现,代理服务器的高可用,然后将集群的访问地址从APIServer的地址改为vip的地址,这样就实现了K8S集群的高可用。 这里采用的方案是 Nginx+keepalived。


2、创建目录

说明:以下操作kube-lb-01节点和kube-lb-02节点均需要执行。

mkdir -p /etc/kube-lb/logs
mkdir -p /etc/kube-lb/conf
mkdir -p /etc/kube-lb/sbin

4、创建kube-lb的配置文件

说明:以下操作kube-lb-01节点和kube-lb-02节点均需要执行。

vim  /etc/kube-lb/conf/kube-lb.conf 
user root;
worker_processes 1;
error_log  /etc/kube-lb/logs/error.log warn;
events {
    worker_connections  3000;
}
stream {
    upstream kube-apiserver {
        server 172.18.1.28:6443 max_fails=2 fail_timeout=3s;
        server 172.18.1.42:6443 max_fails=2 fail_timeout=3s;
        server 172.18.1.134:6443 max_fails=2 fail_timeout=3s;
    }
    server {
        listen 0.0.0.0:6443;
        proxy_connect_timeout 1s;
        proxy_pass kube-apiserver;
    }
}

6、启动kube-lb服务,并设置开机自启

说明:以下操作kube-lb-01节点和kube-lb-02节点均需要执行。

systemctl daemon-reload  && systemctl restart kube-lb && systemctl enable kube-lb    

2、创建目录

说明:以下操作kube-lb-01节点和kube-lb-02节点均需要执行。

mkdir -p /etc/keepalived/conf
mkdir -p /etc/keepalived/sbin

4、kube-lb-01节点创建keepalived 配置文件

说明:以下操作只需在kube-lb-01节点执行。

vim /etc/keepalived/conf/keepalived.conf
global_defs {
}
vrrp_track_process check-kube-lb {
    process kube-lb
    weight -60
    delay 3
}
vrrp_instance VI-01 {
    state MASTER
    priority 120
    unicast_src_ip 172.18.1.97/24
    unicast_peer {
        172.18.1.116/24
    }
    dont_track_primary
    interface eth0
    virtual_router_id 222
    advert_int 3
    track_process {
        check-kube-lb
    }
    virtual_ipaddress {
        172.18.1.189/24
    }
}

免责声明
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明。
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所
提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何
损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在
转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并白负版权等法律责任。

手机扫描二维码访问

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,3317人围观)

还没有评论,来说两句吧...

目录[+]