在集群的每個(gè)節(jié)點(diǎn)上都應(yīng)該運(yùn)行一個(gè)Kube-Proxy服務(wù),通過(guò)監(jiān)聽(tīng)APIServer中的Service和EndPoint的變動(dòng)情況,來(lái)為服務(wù)配置負(fù)載均衡,讓我們的服務(wù)在集群中可以被訪問(wèn)到。
對(duì)于Kube-Proxy來(lái)說(shuō),也需要配置認(rèn)證信息。在所有的工作節(jié)點(diǎn)上執(zhí)行“mkdir-p /etc/Kubernetes/ca/kube-proxy”、 “cp ~/KubePre/target/ca/kubeproxy/kube-proxy-csr.json /etc/Kubernetes/ca/kube-proxy”、“cd /etc/Kubernetes/ca/kubeproxy”、“cfssl gencert-ca=/etc/Kubernetes/ca/ca.pem -ca-key=/etc/Kubernetes/ca/cakey.pem -config=/etc/Kubernetes/ca/ca-config.json -profile=Kubernetes kube-proxy-csr.json |cfssljson -bare kubeproxy”命令,生產(chǎn)所需的私鑰和證書(shū)文件。其名稱分別為“kube-proxy-key.pem”和“kube-proxy.pem”文件,之后需要?jiǎng)?chuàng)建Kube-Proxy.kubeconfig的配置文件。
執(zhí) 行“kubectl config set-cluster Kubernetes -certificate-authority=/etc/Kubernetes/ca/ca.pem-embed-certs=true--server=https://xxx.xxx.xxx.xxx:6443”、“kubectlconfig=kubeproxy.kubeconfig”、“kubectl config setcredentials kube-proxy--client-certificate=/etc/Kubernetes/ca/kube-proxy/kube-proxy.pem -client-key=/etc/Kubernetes/ca/kubeproxy/kube-proxy-key.pem --embed-certs=true--kubeconfig=kubeproxy.kubeconfig”、“kubectl config setcontext default--cluster=Kubernetes-user=kube-proxy -kubeconfig=kube-proxy.kubeconfig ”命令,設(shè)置上下文信息。
執(zhí) 行“kubectl config use-context default -kubeconfig=kube-proxy.kubeconfig”命 令,選 擇上下文。執(zhí)行“mv kubeproxy.kubeconfig /etc/Kubernetes/kube-proxy.kubeconfig”命令,生成名為“kube-proxy.kubeconfig”的配置文件,并將其移動(dòng)到指定路徑。
按照上述方法,將“worker-node”目 錄 中 的“kube-proxy.service” 文件復(fù)制到“/lib/systemd/system” 目 錄 中。 執(zhí) 行“systemctl enable kubeproxy.service”、“apt install conntrack”、“service kube-proxy start”命令,來(lái)啟動(dòng)Kube-Proxy服務(wù)。