要查看Kubernetes (k8s) 集群中各个组件的证书有效期,您可以使用不同的方法,具体取决于您的集群是如何部署和配置的。以下是一些常用的方法来检查Kubernetes证书的有效期:
使用 openssl 命令对于许多部署,可以直接使用 openssl 工具来检查特定证书文件的有效期。例如,要检查API Server的证书有效期,可以使用如下命令:
openssl x509 -enddate -noout -in /var/lib/rancher/k3s/server/tls/server.crt或对于标准的kubeadm部署,可能是:
openssl x509 -enddate -noout -in /etc/kubernetes/pki/apiserver.crt这将输出证书的过期日期。
使用 kubeadm 命令如果您使用 kubeadm 部署了集群,可以使用 kubeadm alpha certs check-expiration 命令来检查所有由 kubeadm 管理的证书的有效期:
kubeadm alpha certs check-expiration这会列出所有证书及其剩余有效期。
脚本遍历PKI目录对于更全面地检查,可以编写一个脚本来遍历 /etc/kubernetes/pki/ 目录下的所有 .crt 文件并检查它们的过期日期,类似于下面的命令:
for item in $(find /etc/kubernetes/pki -maxdepth 2 -name "*.crt"); doopenssl x509 -enddate -noout -in "$item"echo "$item"done这将会列出每个证书文件的路径以及其对应的过期日期。