最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

kubeadm更新kubernetes證書實現(xiàn)方式

 更新時間:2026年02月03日 09:19:28   作者:alden_ygq  
Kubernetes證書管理在Kubernetes集群中,證書的到期問題是運維人員需要關(guān)注的重要問題,證書過期會導(dǎo)致kubelet報錯,影響集群的正常訪問,為了避免證書過期,需要提前進(jìn)行續(xù)期操作,本文將介紹基于kubeadm安裝的Kubernetes集群證書續(xù)期操作的詳細(xì)步驟

現(xiàn)象

在 Kubernetes 的運維工作中,k8s證書需要實時監(jiān)控,避免因過期導(dǎo)致kubelet 報錯,集群無法訪問,比如像這樣:

kubelet 報 x509: certificate has expired or is not yet valid

那么當(dāng)出現(xiàn)證書過期的時候,應(yīng)該如何續(xù)期呢,下面就基于 kubeadm 安裝的 kubernetes 集群做續(xù)期操作。

查看證書有效期

ssh 登錄k8s集群隨機master 節(jié)點執(zhí)行,查看輸出,只要 RESIDUAL TIME < 30 天,就建議提前續(xù)期,防止遺忘導(dǎo)致過期。

kubeadm certs check-expiration

輸出示例:

CERTIFICATE                EXPIRES   RESIDUAL TIME

apiserver                  2025-09-10   7d
apiserver-etcd-client      2025-09-10   7d
front-proxy-client         2025-09-10   7d
...

更新證書流程

備份當(dāng)前配置

# 備份 Kubernetes 配置目錄
cp -r /etc/kubernetes /etc/kubernetes-$(date +%Y%m%d).bak
# 如有必要,備份 etcd 數(shù)據(jù)目錄
cp -r /data/etcd /data/etcd-$(date +%Y%m%d).bak
# 備份 kubeconfig 文件
cp ~/.kube/config ~/.kube/config.bak.$(date +%F)

說明:

  • /etc/kubernetes/pki 目錄放證書;
  • /etc/kubernetes/manifests 是靜態(tài) Pod 定義

注意:備份操作需要在所有 master 節(jié)點上都需要執(zhí)行

更新 Master 節(jié)點證書

Master 節(jié)點上的證書更新是操作的核心,請在所有 Master 節(jié)點上執(zhí)行以下操作

更新所有證書

sudo kubeadm certs renew all

此命令會更新 /etc/kubernetes/pki/ 目錄下的所有證書,并生成新的 admin.conf、controller-manager.confscheduler.conf 等文件。

更新 kubeconfig 文件

將新生成的 admin.conf 復(fù)制到你的用戶目錄并設(shè)置正確的權(quán)限

sudo cp /etc/kubernetes/admin.conf ~/.kube/config
sudo chown $(id -u):$(id -g) ~/.kube/config

注意:對于高可用 (HA) 集群,在完成一個 Master 節(jié)點的證書更新后,需要將更新的證書文件(通常在 /etc/kubernetes/pki/ 目錄下,但注意不要覆蓋仍有效的 CA 密鑰)手動同步到其他 Master 節(jié)點,并在每個節(jié)點上重復(fù)更新 kubeconfig 和重啟組件的步驟。

重啟控制平面組件

證書更新后,需要重啟相關(guān)的控制平面組件以加載新證書。由于這些組件通常是以靜態(tài) Pod 方式運行,重啟節(jié)點上的 kubelet 服務(wù)即可

sudo systemctl restart kubelet

kubelet 會重建所有控制平面的靜態(tài) Pod(apiserver, controller-manager, scheduler, etcd)。

驗證 Master 證書

運行命令檢查證書有效期,確認(rèn)已更新:

kubeadm certs check-expiration
kubectl get nodes # 測試 kubectl 是否正常工作

處理 Node 節(jié)點證書

Node 節(jié)點(工作節(jié)點)的 kubelet 證書通常啟用了自動輪換機制(Kubernetes v1.12+ 默認(rèn)開啟)。主要需要確保該功能正常。

檢查 kubelet 自動輪換

在每個 Node 節(jié)點上,檢查 kubelet 配置:

cat /var/lib/kubelet/config.yaml | grep rotateCertificates
# 或者查看進(jìn)程參數(shù)
ps aux | grep kubelet | grep rotate

輸出中應(yīng)包含 rotateCertificates: true 或 --rotate-certificates 參數(shù)。

批準(zhǔn) CSR(如有必要)

如果某個 Node 節(jié)點的證書即將過期或已過期且未自動更新,用戶可以在 Master 節(jié)點上批準(zhǔn)其證書簽名請求(CSR):

# 查看所有 CSR
kubectl get csr
# 批準(zhǔn)所有 Pending 狀態(tài)的 CSR
kubectl get csr -o name | xargs kubectl certificate approve

批準(zhǔn)后,kubelet 會自動下載新證書。

強制重建證書(僅在自動輪換失效時)

如果證書已過期且自動輪換失效,可在問題 Node 節(jié)點上執(zhí)行:

sudo systemctl stop kubelet
sudo rm -rf /var/lib/kubelet/pki/*
sudo systemctl start kubelet

之后在 Master 節(jié)點上批準(zhǔn)該節(jié)點新生成的 CSR。

更新后驗證

完成所有操作后,進(jìn)行整體驗證:

# 檢查所有節(jié)點狀態(tài)是否為 Ready
kubectl get nodes
# 檢查 kube-system 命名空間下的所有 Pod 是否運行正常
kubectl get pods -n kube-system
# 可以創(chuàng)建一個測試 Pod 并執(zhí)行命令
kubectl run test-pod --image=nginx --restart=Never --rm -it -- nginx -v

長期維護(hù)建議

  • 定期檢查:建議每 3 個月執(zhí)行一次 kubeadm certs check-expiration 來監(jiān)控證書有效期。
  • 選擇更新時機:在業(yè)務(wù)低峰期進(jìn)行證書更新操作,并在證書到期前至少 1 個月完成更新。
  • 考慮自動化:對于大規(guī)模集群,可以考慮使用 Ansible 等自動化工具編排證書更新流程。
  • 監(jiān)控與告警:將證書過期時間監(jiān)控集成到 Prometheus 和 Alertmanager 等監(jiān)控系統(tǒng)中,以便及時收到告警。

重要提醒

證書更新是關(guān)鍵的集群維護(hù)操作。務(wù)必提前備份,并在測試環(huán)境中熟練流程后再在生產(chǎn)環(huán)境操作。對于 HA 集群,注意證書的同步問題。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Podman開機自啟容器實現(xiàn)過程及與Docker對比

    Podman開機自啟容器實現(xiàn)過程及與Docker對比

    這篇文章主要為大家介紹了Podman開機自啟容器實現(xiàn)過程,通過示例代碼的形式進(jìn)行演繹過程,有需要的朋友可以參考下,希望可以有所幫助
    2021-09-09
  • k8s容器的內(nèi)存設(shè)置的踩坑記錄

    k8s容器的內(nèi)存設(shè)置的踩坑記錄

    這篇文章主要介紹了k8s容器的內(nèi)存設(shè)置的踩坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-07-07
  • Prometheus?Operator架構(gòu)介紹

    Prometheus?Operator架構(gòu)介紹

    這篇文章主要為大家介紹了Prometheus?Operator架構(gòu)介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • ES業(yè)務(wù)數(shù)據(jù)遷移遇到的精度問題BUG

    ES業(yè)務(wù)數(shù)據(jù)遷移遇到的精度問題BUG

    這篇文章主要為大家介紹了ES業(yè)務(wù)數(shù)據(jù)遷移遇到的BUG精度問題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Kubernetes k8s configmap 容器技術(shù)解析

    Kubernetes k8s configmap 容器技術(shù)解析

    這篇文章主要為大家介紹了k8s configmap 容器技術(shù)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • k8s的包管理工具h(yuǎn)elm使用簡介

    k8s的包管理工具h(yuǎn)elm使用簡介

    這篇文章主要為大家介紹了k8s的包管理工具h(yuǎn)elm使用簡介,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • K8s中的臨時容器Ephemeral?Containers使用

    K8s中的臨時容器Ephemeral?Containers使用

    這篇文章主要介紹了K8s中的臨時容器Ephemeral?Containers使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • K8S加入新的node節(jié)點實現(xiàn)方式

    K8S加入新的node節(jié)點實現(xiàn)方式

    文章主要介紹了基于kubeadm安裝的k8s集群加入新的節(jié)點的過程,包括初始化節(jié)點、安裝Docker和相關(guān)組件、配置鏡像下載加速器、添加軟件源、安裝組件、上傳和解壓鏡像、加入新的節(jié)點并查看節(jié)點狀態(tài)等步驟
    2026-04-04
  • 在k8s中副本使用pod的IP注冊到consul全過程

    在k8s中副本使用pod的IP注冊到consul全過程

    文章介紹了如何在Kubernetes環(huán)境中通過DNS獲取POD的IP,并將其用于注冊到Consul,通過修改服務(wù)啟動腳本和Kubernetes樣本文件,使得微服務(wù)能夠獲取POD信息并使用該IP注冊到Consul,從而實現(xiàn)服務(wù)間的發(fā)現(xiàn)和通信
    2026-02-02
  • 訪問k8s集群部署的微服務(wù)內(nèi)部服務(wù)接口問題

    訪問k8s集群部署的微服務(wù)內(nèi)部服務(wù)接口問題

    文章介紹了在Kubernetes集群中訪問微服務(wù)內(nèi)部服務(wù)接口的幾種方法,包括通過Pod的localhost訪問、使用服務(wù)名和DNS解析、以及通過注冊中心的地址訪問
    2026-02-02

最新評論

铁岭县| 山西省| 穆棱市| 咸阳市| 裕民县| 安吉县| 分宜县| 漳平市| 舟山市| 馆陶县| 萨嘎县| 长宁区| 沙河市| 宜丰县| 全南县| 房产| 庄浪县| 赫章县| 海伦市| 宝山区| 宿迁市| 商河县| 修文县| 敦煌市| 荔波县| 盐池县| 图片| 达日县| 中宁县| 黄冈市| 长治县| 昆明市| 信丰县| 中宁县| 柳河县| 巴中市| 穆棱市| 云浮市| 香河县| 宝清县| 保山市|