Kubectl客戶端工具默認(rèn)使用的非安全連接方式。因此,需要對于Kubectrl進(jìn)行安全性配置。
執(zhí) 行“mkdir -p /etc/Kubernetes/ca/admin” 命令,創(chuàng)建所需目錄,用來存儲配置文件。執(zhí)行“cp ~/KubePre/target/ca/admin/admin-csr.json /etc/Kubernetes/ca/admin” 命令,準(zhǔn)備生成證書的配置文件。 執(zhí) 行“cfssl gencert-ca=/etc/Kubernetes/ca/ca.pem -ca-key=/etc/Kubernetes/ca/ca-key.pem-config=/etc/Kubernetes/ca/ca-config.json-profile=Kubernetes admincsr.json | cfssljson -bare admin”命令,生成所需的私鑰和證書文件。名稱分別為“admin-key.pem”和“admin.pem”。執(zhí)行“kubectl config set-cluster Kubernetes -certificate-authority=/etc/Kubernetes/ca/ca.pem -embed-certs=true--server=https://xxx.xxx.xxx.xxx:6443”命 令,指 定APIServer的地址和證書位置。其中的“xxx:6443”為APIServer的監(jiān)聽地址。執(zhí)行“kubectl config set-credentials admin--client-certificate=/etc/Kubernetes/ca/admin/admin.pem --embedcerts=true --clientkey=/etc/Kubernetes/ca/admin/admin-key.pem” 命令,配置客戶端的認(rèn)證信息,主要指定客戶端的證書和密鑰文件位置。
執(zhí) 行“kubectl config set-context Kubernetes--cluster=Kubernetes -user=admin”命令,關(guān)聯(lián)用戶和群集。執(zhí)行“kubectl config use-context Kubernetes”命令,設(shè)置當(dāng)前上下文。之后重新查看Kubectl配置文件,會發(fā)現(xiàn)其內(nèi)容變得很復(fù)雜,主要是將證書的相關(guān)信息放置進(jìn)來。再次使用Kubectl訪問集群,會發(fā)現(xiàn)可以順利進(jìn)行操作了。執(zhí)行“kubectl get componentstatus”命令,查看集群個組件的狀態(tài)。