【发布时间】:2018-04-24 07:40:51
【问题描述】:
我是 Kubernetes 新手。在这里,我对 kubernetes 集群中使用的 CA 证书有些困惑。据我所知,kubernetes 中有几个 CA 证书,但仍然不清楚它们的每个功能是什么。这是我对它们的理解,但仍然不确定。
-
根 CA 也称为服务 CA,
- 它使用--tls-cert-file 和--tls-private-key-file 对在apiserver 中配置的apiserver 证书进行签名。
- 这个 CA 证书是在 kube-controller-manager 中配置的 --root-ca-file
-
客户端 CA
- 此 CA 证书可以是由 ROOT CA 证书签名的中间 CA 证书。
- 用于对集群中的各个组件进行签名,有助于在启用 RBAC 和 NODE 授权时识别它们的身份。例如,签署 kube-controller-manager、kube-scheduler、kube-proxy、kubelet。
- 可以在 apiserver 中使用 --client-ca-file 进行配置
- requestheader 客户端 ca
- 这个CA证书也可以是ROOT CA证书签名的中间CA证书。
- 还是不明白这个 CA 是干什么用的? CA文件的什么场景,刚刚发现如果部署metric server,会要求requestheader相关的证书和key
- 对于kube-apiserver中的--proxy-client-cert-file和--proxy-client-key-file,这些参数的值是多少?可以使用 kubelet 证书和密钥吗?
除了这些 CA 证书之外,还遇到了一些其他证书相关的混淆。
- kube-apiserver和kube-controller-manager中的--service-account-key-file参数,哪个文件可以配置?是 apiserver 密钥文件还是 ROOT CA 密钥文件?
- 可以设置什么
kube-controller-manager 中的 --cluster-signing-cert-file 和 --cluster-signing-key-file?我们可以使用客户端 ca 和客户端 ca 密钥文件吗?
【问题讨论】:
标签: ssl-certificate kubernetes certificate-authority