返回

Kubernetes 证书续期:3Master + 3Node 集群的完整指南

见解分享

轻松管理 Kubernetes 证书:3 Master + 3 Node 集群证书续期完整指南

简介

Kubernetes(k8s)的稳定性和安全性对于确保集群平稳运行至关重要。其中一个关键方面是管理证书,包括 CA 证书和节点证书。本指南将逐步引导您完成在使用 kubeadm 安装的 3 Master + 3 Node 集群中续订 k8s 证书。

前提条件

  • 具有使用 kubeadm 安装的 k8s 集群,其中包含 3 个 Master 节点和 3 个工作节点。
  • 集群中所有证书都已过期或即将过期。
  • 具有集群管理员权限的终端访问权限。

步骤 1:查看证书到期时间

首先,让我们查看集群中所有证书的到期时间。有以下几种方法可以做到这一点:

1. 基础配置

kubectl get configmap -n kube-system kube-root-ca.crt -o yaml | grep expiration

2. CA 证书过期时间

openssl x509 -in /var/lib/kubernetes/pki/ca.crt -text -noout | grep "Not After"

3. 集群证书过期时间

kubectl get csr -o jsonpath='{.items[*].status.certificate}' | base64 -d | openssl x509 -text -noout | grep "Not After"

步骤 2:获取初始化配置文件

接下来,我们需要获取集群的初始化配置文件。这将提供创建证书所需的信息。

kubeadm init phase upload-config --upload-certs

步骤 3:更新证书

提示: 在继续之前,请务必备份现有证书和密钥,以便在出现问题时进行恢复。

1. 撤销旧证书

kubectl certificate revoke <certificate-name>

2. 续订证书

按照初始化配置文件中提供的说明,重新创建并续订所有证书。这将涉及使用 kubeadm 和 openssl 命令,具体取决于证书类型。

步骤 4:部署新证书

续订证书后,我们需要将它们部署到集群中。具体步骤因证书类型而异。

1. CA 证书

kubectl create secret generic ca.crt --from-file=ca.crt=/var/lib/kubernetes/pki/ca.crt --dry-run -o yaml | kubectl apply -f -

2. 集群证书

kubectl create secret generic kubeconfig --from-file=kubeconfig=/etc/kubernetes/admin.conf --dry-run -o yaml | kubectl apply -f -

3. 节点证书

kubectl create secret generic node-certs --from-file=ca.crt=/var/lib/kubernetes/pki/ca.crt --from-file=node.crt=/var/lib/kubernetes/pki/node.crt --from-file=node.key=/var/lib/kubernetes/pki/node.key --dry-run -o yaml | kubectl apply -f -

步骤 5:验证新证书

最后,我们需要验证新证书是否已成功部署。

kubectl get csr -o jsonpath='{.items[*].status.certificate}' | base64 -d | openssl x509 -text -noout | grep "Not After"

如果显示的新到期时间与预期相符,则表示证书续订已成功。

结论

通过遵循本指南中概述的步骤,您可以轻松续订 k8s 3 Master + 3 Node 集群中的证书。定期续订证书对于确保您的集群安全可靠地运行至关重要。

常见问题解答

  1. 我需要多频繁地续订证书?

    • 一般建议每 90 天续订证书,以确保它们在过期之前保持有效。
  2. 我可以在不中断集群运行的情况下续订证书吗?

    • 是的,本指南中概述的步骤允许您在不中断集群运行的情况下续订证书。
  3. 如果我错过了证书续订会发生什么?

    • 如果您错过了证书续订,集群可能会出现安全问题,并且可能无法正常运行。
  4. 我可以自动化证书续订吗?

    • 是的,可以通过使用自动化工具,例如 cert-manager,来自动化证书续订。
  5. 续订证书时我应该考虑哪些最佳实践?

    • 始终备份现有证书和密钥。
    • 遵循最佳实践,使用强密码和安全协议。
    • 定期监视集群证书,以确保它们保持最新状态。