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