• k8s中使用到的证书


    Kubernetes 中使用了大量的证书,本文不会试图覆盖到所有可能使用到的证书,但会讨论到主要的证书。理解了这些证书的使用方法和原理后,也能很快理解其他可能遇到的证书文件。下图标识出了在 kubernetes 中主要使用到的证书和其使用的位置:

    Kubernetes 中使用到的主要证书

    上图中使用序号对证书进行了标注。图中的箭头表明了组件的调用方向,箭头所指方向为服务提供方,另一头为服务调用方。为了实现 TLS 双向认证,服务提供方需要使用一个服务器证书,服务调用方则需要提供一个客户端证书,并且双方都需要使用一个 CA 证书来验证对方提供的证书。为了简明起见,上图中只标注了证书使用方提供的证书,并没有标注证书的验证方验证使用的 CA 证书。图中标注的这些证书的作用分别如下:

    1. etcd 集群中各个节点之间相互通信使用的证书。由于一个 etctd 节点既为其他节点提供服务,又需要作为客户端访问其他节点,因此该证书同时用作服务器证书和客户端证书。

    2. etcd 集群向外提供服务使用的证书。该证书是服务器证书。

    3. kube-apiserver 作为客户端访问 etcd 使用的证书。该证书是客户端证书。

    4. kube-apiserver 对外提供服务使用的证书。该证书是服务器证书。

    5. kube-controller-manager 作为客户端访问 kube-apiserver 使用的证书,该证书是客户端证书。

    6. kube-scheduler 作为客户端访问 kube-apiserver 使用的证书,该证书是客户端证书。

    7. kube-proxy 作为客户端访问 kube-apiserver 使用的证书,该证书是客户端证书。

    8. kubelet 作为客户端访问 kube-apiserver 使用的证书,该证书是客户端证书。

    9. 管理员用户通过 kubectl 访问 kube-apiserver 使用的证书,该证书是客户端证书。

    10. kubelet 对外提供服务使用的证书。该证书是服务器证书。

    11. kube-apiserver 作为客户端访问 kubelet 采用的证书。该证书是客户端证书。

    12. kube-controller-manager 用于生成和验证 service-account token 的证书。该证书并不会像其他证书一样用于身份认证,而是将证书中的公钥/私钥对用于 service account token 的生成和验证。kube-controller-manager 会用该证书的私钥来生成 service account token,然后以 secret 的方式加载到 pod 中。pod 中的应用可以使用该 token 来访问 kube-apiserver, kube-apiserver 会使用该证书中的公钥来验证请求中的 token。我们将在文中稍后部分详细介绍该证书的使用方法。

  • 相关阅读:
    eclipse对项目Working Sets整理分类
    word中visio只显示边框,不显示内容解决
    使用WebStorm运行vue项目
    如何提高你的学习速度-超链接式学习法
    SQL中的join连接查询
    TCP的三次握手
    Tomcat 实现热部署
    Linux下软件设成系统服务运行
    Redis服务器搭建
    nginx.conf完整配置实例
  • 原文地址:https://www.cnblogs.com/gavin11/p/14422166.html
Copyright © 2020-2023  润新知