使用 kubeadm 初始化 Kubernetes 集群时生成 99 年有效期的所有证书,可以通过以下步骤操作:

编辑 kubeadm 的配置文件 kubeadm-config.yaml:

apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
apiServer:
  extraArgs:
    certificate-duration: 868320h 
certificatesDir: /etc/kubernetes/pki

初始化控制平面节点:

kubeadm init --config kubeadm-config.yam

对 CA 证书单独指定有效期:

kubeadm init phase certs ca --config kubeadm-config.yaml

对前端代理证书也单独指定有效期:

kubeadm init phase certs front-proxy-ca --config kubeadm-config.yaml

对 etcd 证书也单独指定有效期:

kubeadm init phase certs etcd-ca --config kubeadm-config.yaml

这样 kubeadm 生成的所有证书的有效期都将是 99 年。

但是,我仍然强烈建议不要将证书有效期设置这么长,理由如前所述。