一、什么是PKI?
简称:证书基础设施。
可以方便理解为当你的集群有Server,Client架构,那么为了安全加密之间的通信,则需要使用证书进行交互,那么利用PKI架构可以安全加密组件之间的通信。
二、Kubernetes的PKI架构什么样子?
*截图之某tu博主。
相应组件对于的证书。
解释一下:
1、即Api-Server与他需要通信的组件Scheduler、Controller Manager有服务端证书。
2、Scheduler、Controller Manager 而对于的Api-Server都有一份对应的Client.srv证书。
3、但同理Api-server相对于Etcd和Kubelet那么,Etcd、Kubelet为Server端,则Api-server有一份对应的Client证书。
4、Api-Server需要与Kubelet双向通信调用所以是即是服务端又是客户端,有两份证书。
三、Kubernetes-PKI在哪里?
默认位置:/etc/kubenetes/pki ,因为我是搭建的RKE2发行版的k8s,故我的PKI在这里:/var/lib/rancher/rke2/server/tls
四、逐个文件对应
ca证书:
/var/lib/rancher/rke2/server/tls/server-ca.crt
apiserver证书在下面目录:
/var/lib/rancher/rke2/server/tls/serving-kube-apiserver.crt
/var/lib/rancher/rke2/server/tls/client-kube-apiserver.crt
etcd客户端证书在下面目录:
/var/lib/rancher/rke2/server/tls/etcd/client.crt
etcd服务器证书在下面目录:
/var/lib/rancher/rke2/server/tls/etcd/server-client.crt
scheduler的客户端证书在下面目录:
/var/lib/rancher/rke2/server/tls/client-scheduler.crt
scheduler的服务端证书在下面目录:
/var/lib/rancher/rke2/server/tls/kube-scheduler/kube-scheduler.crt
kube-controller-manager的客户端证书在下面目录:
/var/lib/rancher/rke2/server/tls/client-controller.crt
kube-controller-manager的服务端证书在下面目录:
/var/lib/rancher/rke2/server/tls/kube-controller-manager/kube-controller-manager.crt
五、客户端的证书样子
kubectl config view
查看当前你的kubeconfig文件中你使用的证书认证信息以及客户端证书