APIServer是Kubernetes集群的核心內(nèi)容,提供集群管理的REST API接口,是其他模塊之間的數(shù)據(jù)交換的關(guān)鍵樞紐。出于安全性考慮,需要配置安全認(rèn)證。
在主節(jié)點(diǎn)上執(zhí)行“mkdir -p /etc/Kubernetes/ca/kubernetes”、“cp ~/kuberPre/target/ca/kubernetes/kubernetesscr.json /etc/Kubernetes/ca/kubernetes”、“cd /etc/Kubernetes/ca/kubernetes”、“cfssl gencert -ca=/etc/Kubernetes/ca/ca-key.pem-ca-key=/etc/Kubernetes/ca/etcd -config=/etc/Kubernetes/ca/ca-config.json -profile=Kubernetes kubernetes-csr.json |cfssljson -bare kubernetes”命令,在“kubernetes”目錄生成證書(shū)的配置文件,以及對(duì)應(yīng)的私鑰和證書(shū)文件。
然后需要生成Token認(rèn)證文件,執(zhí)行“head -c 16 /dev/urandom | od -An -t -x | tr-d ' '” 命令生成隨機(jī)的Token串。執(zhí)行“echo "xxx,kubeletbootstrap,10001,"system:kubelet- bootstrap"" > /etc/Kubernetes/ca/Kubernetes/token.csv”命令,按固定格式寫(xiě)入“token.csv”文件中。其中“xxx”為上述Token串,“kubelet-bootstrap”為用戶名,“10001”為用戶 ID,“token.csv”路徑和上述配置文件中對(duì)應(yīng)內(nèi)容要保持一致。
打開(kāi)上述“master-node”目錄中的“kube-apiserver.service”文件,在“tokenauth-file=”欄中可以看到上述路徑信息。按上述方 法 將“master-node”目錄 中 的“kube-apiserver.service”文 件 復(fù) 制 到“/lib/systemd/system” 目錄。執(zhí)行“systemctl enable kube-apiserver.service”、“service kube-apiserver start”命令,啟動(dòng)APIServer服務(wù)。執(zhí)行“journalctrl -f-u kube-apiserver”命 令,查看日志來(lái)檢查更新是否成功。執(zhí)行“netstat -ntlp”命令,在網(wǎng)絡(luò)連接信息列表中應(yīng)能看到TCP 6443/8080端口均應(yīng)為開(kāi)啟。