K8s 证书认知(K8s Certificate Awareness)

K8s 证书认知

在谈起 Kubernetes 证书时,总感觉其涵盖的内容繁多,仿佛千头万绪,让人不知该从何处着手阐述。为了更好地理清思路,本文将对相关内容进行系统的梳理和记录。

1、证书及链路关系

Kubeadm部署的集群,K8s CA证书是10年,其他组件的证书日期是1年,etcd证书日期可以通过配置设置为10年。

  • 服务端证书: 服务端证书是安装在服务器端的证书,主要用于服务器向客户端证明自己的合法身份,确保客户端连接到正确的服务器,有效时间一般设置比较长。

  • 客户端证书: 客户端证书是安装在客户端的证书,主要用于向服务器证明客户端的身份,确保服务器只接受合法的客户端请求,有效时间相对可以设置短些。

  • CA证书: 服务端或客户端证书都通过CA生成的,Kubeadm安装的集群一般有三套CA证书,一套给etcd、一套给K8s内部使用、一套给聚合层使用,他们都是10年。

  • 证书配置一般有三个文件,含CA,证书和私钥(key字样): 证书是验证对方证书有效性,私钥是解密和签名操作。

1.1、etcd证书

通过ps -ef| grep etcd或systemctl status etcd查看etcd配置从而知道证书目录。

链路关系:服务本身、etcd集群节点间和客户端(etcdctl指令和kube-apiserver访问etcd的客户端证书)。

1.2、kubeadm token令牌

当kubeadm init或一个新节点或组件启动时,它可以使用Token向kube-apiserver进行身份认证,一般是24h。可通过kubeadm token create命令生成,kubeadm token list查看。

1.3、kube-apiserver证书

最复杂,需要和多个组件链接认证,通过查看apiserver配置文件,一般在/etc/kubernetes/manifests目录下kube-apiserver.yaml

链路关系:服务本身、客户端证书(kube-apiserver访问etcd、kubelet和front-proxy)。

1.4、kubelet证书

kubelet有客户端证书和服务端证书,客户端证书可以通过设置自动续签。

链路关系:客户端(kubelet访问kube-apiserver,是通过kubeconfig,其中客户端证书和私钥为:kubelet-client-current.pem)、服务端(可以在kube-apiserver和metric-server访问时使用,但一般不会设置)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux运维老纪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值