Kubernetes API Server通过一个名为kube-apiserver的进程提供服务,该进程运行在Master节点上。我们可以启动HTTPS安全端口(--secure=6443)来启动安全机制,加强REST API访问的安全性。
下面是实践过程
1,生成证书
openssl genrsa -out linux.key 2048
openssl req -new -key linux.key -out ilinux.csr "/CN=ilinux/O=kubeusers"
openssl x509 -req -in ilinux.csr -CA ./ca.crt -CAkey ./ca.key -CAcreateserial -out linux.crt -days 36
2,设置新集群(mykube),指明apiserver地址、k8s证书路径
kubectl config set-cluster mykube --server="https://192.168.0.4:6443" --certificate-authority=/etc/kubernetes/pki/ca.crt --embed-certs=true
可以用kubectl config get-cluster进行查看
3,需要配置新集群权限,其自定义权限名为linux,username需要和linux.csr的CN保持一致
kubectl config set-context ilinux@mykube --cluster=mykube --user=linux
4,配置context上下文,并绑定上面设置的新集群名、用户名和自定义权限名
kubectl config set-credentials ilinux --client-certificate=/etc/kubernetes/pki/linux.crt --client-key=/etc/kubernetes/pki/ilinux.key --username=linux --embed-certs=true
5,可以用下面语句切换
kubectl config use-context linux@mykube