【问题标题】:What is the different functionality of the CA certificates in Kubernetes?Kubernetes 中 CA 证书的不同功能是什么?
【发布时间】:2018-04-24 07:40:51
【问题描述】:

我是 Kubernetes 新手。在这里,我对 kubernetes 集群中使用的 CA 证书有些困惑。据我所知,kubernetes 中有几个 CA 证书,但仍然不清楚它们的每个功能是什么。这是我对它们的理解,但仍然不确定。

  1. 根 CA 也称为服务 CA,

    • 它使用--tls-cert-file 和--tls-private-key-file 对在apiserver 中配置的apiserver 证书进行签名。
    • 这个 CA 证书是在 kube-controller-manager 中配置的 --root-ca-file
  2. 客户端 CA

    • 此 CA 证书可以是由 ROOT CA 证书签名的中间 CA 证书。
    • 用于对集群中的各个组件进行签名,有助于在启用 RBAC 和 NODE 授权时识别它们的身份。例如,签署 kube-controller-manager、kube-scheduler、kube-proxy、kubelet。
    • 可以在 apiserver 中使用 --client-ca-file 进行配置
  3. requestheader 客户端 ca
    • 这个CA证书也可以是ROOT CA证书签名的中间CA证书。
    • 还是不明白这个 CA 是干什么用的? CA文件的什么场景,刚刚发现如果部署metric server,会要求requestheader相关的证书和key
    • 对于kube-apiserver中的--proxy-client-cert-file和--proxy-client-key-file,这些参数的值是多少?可以使用 kubelet 证书和密钥吗?

除了这些 CA 证书之外,还遇到了一些其他证书相关的混淆。

  1. kube-apiserver和kube-controller-manager中的--service-account-key-file参数,哪个文件可以配置?是 apiserver 密钥文件还是 ROOT CA 密钥文件?
  2. 可以设置什么
    kube-controller-manager 中的 --cluster-signing-cert-file 和 --cluster-signing-key-file?我们可以使用客户端 ca 和客户端 ca 密钥文件吗?

【问题讨论】:

    标签: ssl-certificate kubernetes certificate-authority


    【解决方案1】:

    一个很好的总结是https://github.com/kubernetes/kubernetes/issues/54665#issuecomment-340960398

    请求标头 CA 用于验证身份验证代理提供的客户端证书以及请求标头中设置的用户信息。代理对用户进行身份验证,代理请求,并在标头中设置用户名/组。 API 服务器在信任任何标头中的用户信息之前验证客户端证书。

    【讨论】:

      猜你喜欢
      • 2019-05-25
      • 2021-09-12
      • 2021-09-03
      • 2022-07-29
      • 2017-02-24
      • 2018-03-06
      • 2014-11-20
      • 2014-12-15
      • 2014-06-16
      相关资源
      最近更新 更多