10 部署 kube-proxy 組件
kube-proxy 是集群中每個(gè)節(jié)點(diǎn)上運(yùn)行的網(wǎng)絡(luò)代理, 實(shí)現(xiàn) Kubernetes 服務(wù)(Service) 概念的一部分,維護(hù)節(jié)點(diǎn)上的網(wǎng)絡(luò)規(guī)則,這些網(wǎng)絡(luò)規(guī)則允許從集群內(nèi)部或外部的網(wǎng)絡(luò)會(huì)話與 Pod 進(jìn)行網(wǎng)絡(luò)通信。
更多內(nèi)容請(qǐng)移步 Kubernetes 官網(wǎng)詳閱。
10.1 獲取二進(jìn)制軟件包
在本地主機(jī)上操作。
將 kube-proxy 分發(fā)到 3 臺(tái)服務(wù)器上。
cd /data/k8s-deploy/software
tar xf kubernetes-node-v1.23.6-linux-amd64.tar.gz && cd kubernetes-node-v1.23.6-linux-amd64/
#K8S_HOST=(k8s-master-01 k8s-master-02 k8s-master-03)
#for h in ${K8S_HOST[@]};do scp kube-proxy root@$h:/usr/local/bin/;done
scp kube-proxy root@k8s-master-01:/usr/local/bin/
scp kube-proxy root@k8s-master-02:/usr/local/bin/
scp kube-proxy root@k8s-master-03:/usr/local/bin/
10.2 生成 kubeconfig 憑證文件
在本地主機(jī)上操作。
生成 kubeconfig 憑證文件,將其分發(fā)到 3 臺(tái)服務(wù)器上。
cd /data/k8s-deploy/kubeconfig
kubectl config set-cluster kubernetes \
--certificate-authority=../tls-csr/ca.pem \
--embed-certs=true \
--server=https://192.168.3.201:6443 \
--kubeconfig=kube-proxy.kubeconfig
kubectl config set-credentials kube-proxy \
--client-certificate=../tls-csr/kube-proxy.pem \
--client-key=../tls-csr/kube-proxy-key.pem \
--embed-certs=true \
--kubeconfig=kube-proxy.kubeconfig
kubectl config set-context default \
--cluster=kubernetes \
--user=kube-proxy \
--kubeconfig=kube-proxy.kubeconfig
kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig
#K8S_HOST=(k8s-master-01 k8s-master-02 k8s-master-03)
#for h in ${K8S_HOST[@]};do scp kube-proxy.kubeconfig root@$h:/etc/kubernetes/kubeconfig/;done
scp kube-proxy.kubeconfig root@k8s-master-01:/etc/kubernetes/kubeconfig/
scp kube-proxy.kubeconfig root@k8s-master-02:/etc/kubernetes/kubeconfig/
scp kube-proxy.kubeconfig root@k8s-master-03:/etc/kubernetes/kubeconfig/
10.3 生成服務(wù)配置文件
在本地主機(jī)上操作。
k8s-deploy 已提供了 kube-proxy 的配置文件模板,kube-proxy.yaml 文件中有一個(gè)內(nèi)容需要修改:
__CLUSTER_POD_CIDR__:Kubernetes Pod 的網(wǎng)段
修改配置文件內(nèi)容,將其分發(fā)到 3 臺(tái)服務(wù)器上。
cd /data/k8s-deploy/config
CLUSTER_POD_CIDR=172.16.0.0/12
sed -i "s#__CLUSTER_POD_CIDR__#${CLUSTER_POD_CIDR}#" ./kube-proxy.yaml
#K8S_HOST=(k8s-master-01 k8s-master-02 k8s-master-03)
#for h in ${K8S_HOST[@]};do scp kube-proxy.conf kube-proxy.yaml root@$h:/etc/kubernetes/conf/;done
scp kube-proxy.conf kube-proxy.yaml root@k8s-master-01:/etc/kubernetes/conf/
scp kube-proxy.conf kube-proxy.yaml root@k8s-master-02:/etc/kubernetes/conf/
scp kube-proxy.conf kube-proxy.yaml root@k8s-master-03:/etc/kubernetes/conf/
10.4 生成服務(wù)啟動(dòng)管理文件
在本地主機(jī)上操作。
k8s-deploy 已提供了服務(wù)啟動(dòng)管理文件,不需要修改內(nèi)容,直接分發(fā)到 3 臺(tái)服務(wù)器即可。
cd /data/k8s-deploy/service
#K8S_HOST=(k8s-master-01 k8s-master-02 k8s-master-03)
#for h in ${K8S_HOST[@]};do scp kube-proxy.service root@$h:/etc/systemd/system/;done
scp kube-proxy.service root@k8s-master-01:/etc/systemd/system/
scp kube-proxy.service root@k8s-master-02:/etc/systemd/system/
scp kube-proxy.service root@k8s-master-03:/etc/systemd/system/
10.5 啟動(dòng) kube-proxy 服務(wù)
分別在 3 臺(tái)服務(wù)器上操作。
服務(wù)配置文件和服務(wù)啟動(dòng)管理文件都分發(fā)之后,分別登錄到 3 臺(tái)服務(wù)器上啟動(dòng) kube-proxy 服務(wù)。
systemctl daemon-reload
systemctl enable kube-proxy
systemctl start kube-proxy
systemctl status kube-proxy