Kubectl客户端工具默认使用的非安全连接方式。因此,需要对于Kubectrl进行安全性配置。
执 行“mkdir -p /etc/Kubernetes/ca/admin” 命令,创建所需目录,用来存储配置文件。执行“cp ~/KubePre/target/ca/admin/admin-csr.json /etc/Kubernetes/ca/admin” 命令,准备生成证书的配置文件。 执 行“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”。执行“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的监听地址。执行“kubectl config set-credentials admin--client-certificate=/etc/Kubernetes/ca/admin/admin.pem --embedcerts=true --clientkey=/etc/Kubernetes/ca/admin/admin-key.pem” 命令,配置客户端的认证信息,主要指定客户端的证书和密钥文件位置。
执 行“kubectl config set-context Kubernetes--cluster=Kubernetes -user=admin”命令,关联用户和群集。执行“kubectl config use-context Kubernetes”命令,设置当前上下文。之后重新查看Kubectl配置文件,会发现其内容变得很复杂,主要是将证书的相关信息放置进来。再次使用Kubectl访问集群,会发现可以顺利进行操作了。执行“kubectl get componentstatus”命令,查看集群个组件的状态。