kubernetes TLS Bootstrap与节点证书签发

Bootstrap初始化流程

参考官方文档

  1. kubelet启动
  2. kubelet发现没有kubeconfig文件
  3. kubelet查找bootstrap-kubeconfig文件
  4. kubelet读取bootstrap-kubeconfig文件,获取kube-apiserver的URL和最低权限的token
  5. kubelet具备了创建和检索CSR请求的受限token
  6. kubelet使用此token作为凭证与kube-apiserver通信
  7. kubelet使用bootstrap-kubeconfig的CA证书为自己创建CSR(nodeclient)
  8. CSR可以通过两种方式获得批准,批准之后下发证书(kubelet-client.crt)
    1. 配置kube-controller-manager自动批准CSR
    2. 配置外部流程去通过kubernetes API或者kubectl去批准CSR
  9. kubelet使用密钥和证书创建kubeconfig文件
  10. kubelet开始正常启动流程
  11. 可选:
    1. 当证书接近到期时,kubelet会自动请求续订证书
    2. 证书的续订自动签发,可以参考CSR批准证书的过程