如何使用kubeadm管理证书吗?

  

kubeadm管理证书

  

在管理证书之前,你需要了解kubernetes如何使用PKI证书的相关知识:官方文档

  

检查证书到期时间

  

<强>检查截止可用于检查证书过期时间:

  
 <代码> kubeadmα能够检查截止 
  

输出如下内容;

  
 <代码>证书到期剩余时间外部管理
  管理。2020年10月06日相依03:56 UTC 364 d
  2020年10月06日apiserver 41 UTC 364 d
  2020年10月06日apiserver-etcd-client 03:55 UTC 364 d
  2020年10月06日apiserver-kubelet-client 03:55 UTC 364 d
  controller-manager。2020年10月06日相依03:56 UTC 364 d
  2020年10月02日etcd-healthcheck-client 12:14 UTC 361 d
  2020年10月02日etcd-peer 12:14 UTC 361 d
  2020年10月02日etcd-server 12:14 UTC 361 d
  2020年10月06日front-proxy-client 03:55 UTC 364 d
  调度器。2020年10月06日相依03:56 UTC 364 d没有 
  

该命令显示了所有证书的到期/剩余时间,包括在等/kubernetes pki目录下的客户端证书及由kubeadm嵌入到KUBECONFIG文件中的客户端证书(admin.conf, controller-manager.conf和scheduler.conf)。

  
  

注意:   

      <李> kubelet.conf未包含在上面的列表中,因为kubeadm将已将其配置为自动更新。   <李> kubeadm无法管理由外部CA签名的证书。   
     

自动续订证书

  

自动续订指的是,<强>在用kubeadm升级控制平面时自动更新所有证书。

  

如果对证书续约没有要求,并定期升级kubernetes版本,每次升级间隔时间少于1年,最佳做法是经常升级集群以确保安全。

  

如果不想在升级集群时续约证书,则给kubeadm升级应用或kubeadm升级节点传递参数:<强>——certificate-renewal=false

  

手动续订证书

  

使用<强> kubeadmα能够更新强命令可以随时手动续订证书,该命令使用存储在/etc/kubernetes pki中的CA(或front-proxy-CA)证书和密钥来更新证书。

  
  

<>强如果是HA集群,则在所有控制平面执行

     

<强> kubeadmαcerts命令详解:

  
 <代码>可用命令:
  证书密钥生成证书和关键
  检查截止检测证书过期时间
  更新续订Kubernetes集群的证书 
  

用的最多的续订证书的<强> 更新子命令,现在来看下该命令帮助:

  
 <代码> root@k8s-master: ~ # kubeadmα能够更新- h
  该命令并不意味着自己运行。看到可用子命令的列表。
  
  用法:
  kubeadmα能够更新(旗帜)
  kubeadmα能够更新(命令)
  
  可用命令:
  管理。conf更新证书嵌入kubeconfig文件管理使用和kubeadm本身
  所有更新所有可用的证书
  apiserver更新证书服务Kubernetes API
  apiserver-etcd-client apiserver使用访问etcd更新证书
  apiserver-kubelet-client更新的证书服务器连接kubelet API
  controller-manager。配置更新证书控制器嵌入到kubeconfig文件管理器使用
  etcd-healthcheck-client更新证书活性探测healtcheck etcd
  etcd-peer更新证书etcd节点相互通信
  为服务etcd etcd-server更新证书
  front-proxy-client更新证书前代理客户端
  调度器。配置更新证书嵌入在调度器kubeconfig文件管理器使用
  
  国旗:
  - h,帮助帮助更新
  
  全球标志:
  ——日志文件如果非空字符串,使用这个日志文件
  ——log-file-max-size使用uint定义了日志文件的最大大小可以长到。单位是字节。如果该值为0,最大文件大小是无限的。1800(默认)
  ——rootfs字符串(实验)的路径“真实”的主机根文件系统。
  ——skip-headers如果真的,避免头前缀的日志消息
  ——skip-log-headers如果真的,避免头打开日志文件
  - v, v级数量的日志级别冗长代码 之前
  

如上所知,<>指定某个证书就能续订该证书,指定所有
则续订所有证书。

  

命令执行后,注意:

  
      <李>无论证书的到期时间如何,都会无条件地续订一年。   <李>证书的圣等信息基于原证书,无需再次提供。   <李>更新执行后,为使更改生效,需要重启控制平面组件。   
  
  

kubeadmαcerts命令仅支持v1.15及其以上的版本。

     
示例:手动续订apiserver的证书-apiserver.crt h5> 从上面检测中知道,当前apiserver。2020年10月06日crt到期时间是03:55 UTC,剩余364 d。

如何使用kubeadm管理证书吗?