我对导入现有证书有一些疑问。
如何在Kubernetes内部使用证书(例如在api服务器和工作人员,主控制器等之间)? Kubernetes有CA吗? (如何)生成内部使用的证书?
每一层都需要哪些证书?
答案 0 :(得分:1)
Kubernetes中的证书主要用于保护与API服务器之间的通信。取自official Kubernetes documentation:
每个Kubernetes群集都有一个群集根证书颁发机构 (CA)。 CA通常由群集组件用于验证 API服务器的证书,由API服务器验证kubelet客户端 证书等。为了支持这一点,CA证书包是 分布到集群中的每个节点并作为分发 附加到默认服务帐户的机密。或者,你的 工作负载可以使用此CA来建立信任。你的申请可以 使用certificates.k8s.io API请求证书签名 一个类似于ACME草案的协议。
使用kubeadm创建群集时,该工具首先在/etc/kubernetes/pki
中创建一个CA,并使用其私钥对所有后续证书进行签名。 ca稍后在所有节点上分发以进行验证,并且还在/etc/kubernetes/admin.conf
中找到base64编码,以通过kubectl
验证api服务器。
在调用ca.crt
或之后的任何文件夹之前,可以将自己的CA和ca.key
中的私钥放在/etc/kubernetes/pki
中,然后将其设置为kubeadm init
。使用--cert-dir
指定。
还有许多其他方法可以安装Kubernetes,但它们基本上都是在任何实际的Kubernetes代码运行之前创建一个CA,或者事先要求它存在。