k8s證書過期時間掃描方式
更新時間:2025年10月30日 11:07:04 作者:云原生運維
該文章介紹了多種檢查Kubernetes證書過期時間的方法,包括使用openssl命令、kubeadm工具、Shell腳本、Kubernetes API等,文章還提到了一些第三方工具,如cert-manager、kube-cert-manager和PrometheusSSLExporter,以及關(guān)鍵證書的位置
查詢證書過期時間的方法
使用 openssl 命令可以檢查證書過期時間,適用于集群內(nèi)外的證書文件:
openssl x509 -noout -enddate -in /etc/kubernetes/pki/apiserver.crt
示例輸出:
notAfter=May 24 12:00:00 2025 GMT
掃描集群內(nèi)所有證書過期時間
通過 kubeadm 工具一鍵檢查集群證書有效期:
kubeadm certs check-expiration
輸出結(jié)果將顯示:
- 證書路徑
- 過期時間
- 剩余天數(shù)
- 是否自動續(xù)訂
檢查 kubeconfig 文件中的證書
提取 kubeconfig 中的證書并驗證有效期:
grep client-certificate ~/.kube/config | awk '{print $2}' | xargs openssl x509 -noout -enddate
自動監(jiān)控腳本示例
以下 Shell 腳本可批量掃描指定目錄下的證書:
#!/bin/bash
CERT_DIR="/etc/kubernetes/pki"
THRESHOLD_DAYS=30
find $CERT_DIR -type f -name "*.crt" | while read cert; do
expiry=$(openssl x509 -enddate -noout -in "$cert" | cut -d= -f2)
remaining_days=$(( ($(date -d "$expiry" +%s) - $(date +%s)) / 86400 ))
if [ $remaining_days -lt $THRESHOLD_DAYS ]; then
echo "ALERT: $cert 將在 $remaining_days 天后過期 ($expiry)"
fi
done
使用 kubelet 證書API
通過 Kubernetes API 獲取 kubelet 證書信息:
kubectl get --raw /api/v1/nodes/<node-name>/proxy/configz | jq '.kubeletConfig.serverTLSBootstrap'
第三方工具推薦
- cert-manager:自動管理證書生命周期,支持告警功能
- kube-cert-manager:專為 Kubernetes 設(shè)計的證書監(jiān)控工具
- Prometheus SSL Exporter:提供證書過期指標(biāo)并集成告警系統(tǒng)
關(guān)鍵證書位置說明
/etc/kubernetes/pki/:控制平面核心證書/var/lib/kubelet/pki/:kubelet 客戶端證書~/.kube/config:用戶訪問憑據(jù)/etc/kubernetes/manifests/:靜態(tài) Pod 使用的證書
證書續(xù)訂操作
對于 kubeadm 管理的集群,執(zhí)行自動續(xù)訂:
kubeadm certs renew all
完成后需重啟控制平面組件:
docker restart $(docker ps -q -f name=k8s_apiserver)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
K8S之StatefulSet有狀態(tài)服務(wù)詳解
本文主要介紹了K8S之StatefulSet有狀態(tài)服務(wù)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
云原生技術(shù)kubernetes之volumes容器的使用
這篇文章主要為大家介紹了云原生技術(shù)kubernetes之volumes容器使用方式,?有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-03-03
k8s集群調(diào)度詳解(kube-scheduler)
Kubernetes調(diào)度器負(fù)責(zé)將Pod分配至Node節(jié)點,采用預(yù)選(資源匹配)和優(yōu)選(資源利用率、鏡像緩存)策略,支持指定節(jié)點、標(biāo)簽及親和性(軟/硬策略)調(diào)度,確保資源高效利用與靈活分配2025-09-09

