kubernetes集群證書過期問題解決

kubernetes集群證書過期問題解決

  • 問題描述
  • 檢查證書是否過期
  • 更新證書
    • master節點操作
    • node節點操作

問題描述

K8S 各個組件需要與 api-server 進行通信,通信使用的證書都存放在 /etc/kubernetes/pki 路徑下,kubeadm 生成的證書大部分默認有效期為 1 年,因此需要定時更新證書,否則證書到期會導致整個集群不可用

檢查證書是否過期

通過kubeadm certs check-expiration命令來檢查集群里的證書是否過期,其中EXPIRES為過期時間, RESIDUAL TIME表示還有多久過期
(我這里因為已經更新過了,所以時間顯示都是沒過期的)

root@master:/etc/kubernetes/pki# kubeadm certs check-expiration
[check-expiration] Reading configuration from the cluster...
[check-expiration] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
W0617 12:40:58.742236 1515160 utils.go:69] The recommended value for "resolvConf" in "KubeletConfiguration" is: /run/systemd/resolve/resolv.conf; the provided value is: /run/systemd/resolve/resolv.confCERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED
admin.conf                 Mar 05, 2025 02:53 UTC   260d            ca                      no
apiserver                  Mar 05, 2025 02:52 UTC   260d            ca                      no
apiserver-etcd-client      Feb 22, 2025 02:10 UTC   249d            etcd-ca                 no
apiserver-kubelet-client   Feb 22, 2025 02:10 UTC   249d            ca                      no
controller-manager.conf    Mar 05, 2025 02:53 UTC   260d            ca                      no
etcd-healthcheck-client    Feb 22, 2025 02:10 UTC   249d            etcd-ca                 no
etcd-peer                  Mar 05, 2025 02:53 UTC   260d            etcd-ca                 no
etcd-server                Mar 05, 2025 02:53 UTC   260d            etcd-ca                 no
front-proxy-client         Feb 22, 2025 02:10 UTC   249d            front-proxy-ca          no
scheduler.conf             Mar 05, 2025 02:53 UTC   260d            ca                      noCERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED
ca                      Feb 20, 2034 02:10 UTC   9y              no
etcd-ca                 Feb 20, 2034 02:10 UTC   9y              no
front-proxy-ca          Feb 20, 2034 02:10 UTC   9y              no

如果你的kubernetes不是通過kubeadm部署的,或者因為其他原因導致上述命令無法使用,可以使用openssl命令,也可以查看證書的過期時間

# 進入kubernetes中存放證書的目錄
root@master:/# cd /etc/kubernetes/pki
root@master:/etc/kubernetes/pki# openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ' Not 'Not Before: Feb 23 02:10:47 2024 GMTNot After : Mar  5 02:52:58 2025 GMT

更新證書

master節點操作

1.證書備份(更改任何系統文件之前,都建議先備份)

cp -r /etc/kubernetes /etc/kubernetes-$(date +%Y-%m-%d).bak
cp -r /var/lib/kubelet /var/lib/kubelet-$(date +%Y-%m-%d).bak

2.刪除舊的過期的證書
有些證書是十年才過期的,就不需要刪除,我這里通過上述方式查看是以下這些證書即將或者已經過期的

cd /etc/kubernetes/pki
rm -rf apiserver-etcd-client.*
rm -rf apiserver-kubelet-client.*
rm -rf etcd/healthcheck-client.*
rm -rf front-proxy-client.*

3.重新生成新的證書
上面刪除了哪些證書便重新生成哪些證書

kubeadm init phase certs apiserver-etcd-client
kubeadm init phase certs apiserver-kubelet-client
kubeadm init phase certs etcd-healthcheck-client
kubeadm init phase certs front-proxy-client

4.重新生成kubeconfig文件

cd /etc/kubernetes
rm -f admin.conf kubelet.conf controller-manager.conf scheduler.conf
kubeadm init phase kubeconfig all
#覆蓋默認的配置文件
cp /etc/kubernetes/admin.conf $HOME/.kube/config

5.重啟docker和kubelet

systemctl daemon-reload
systemctl restart docker
systemctl restart kubelet

6.刪除node節點
這里跟上篇更換集群IP一樣,因為node節點的證書問題處理比較麻煩,我這里選擇之間重新加入集群,重新頒發證書(如果你有更好的方式,可以不這么做)

kubectl delete node node1
kubectl delete node node2

node節點操作

1.備份要更改的文件,在更改每個配置文件前,最好先備份

cp -r /etc/kubernetes{,-$(date +%Y-%m-%d).bak}
cp -r /var/lib/kubelet/pki{,-$(date +%Y-%m-%d).bak}

2.重置kubernetes配置

kubeadm reset -f

3.重啟服務器

reboot

4.重新加入master節點所在的kubernetes集群(因為node節點的證書問題處理起來有點麻煩,所以直接重新加入簡單點)

#先在master節點生成加入口令
kubeadm token create --print-join-command
#在node節點上執行kuberadm join命令
kubeadm join 10.98.99.140:6443 --token ne2dbu.74etnc2273wx6ysg --discovery-token-ca-cert-hash sha256:bd373617bc307f5192cb38ab0d0ccd261d95d6aa4c64a97d4c1acf1f7ffa02cd 

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/42566.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42566.shtml
英文地址,請注明出處:http://en.pswp.cn/web/42566.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SECS/GEM快速完成半導體設備通訊

金南瓜幫助國內大量從事半導體前道設備開發研制、生產的設備廠商,通過快速提供穩定可靠的SECS/GEM、GEM300產品,為客戶在激光退火、濕法設備(清洗、鍍膜等)、離子注入、MOCVD、PVD等客戶專注于核心工藝提升,提升企業的…

`CyclicBarrier` 是 Java 中的一個同步輔助工具類,它允許一組線程相互等待,直到所有線程都達到了某個公共屏障點(barrier point)

CyclicBarrier 是 Java 中的一個同步輔助工具類,它允許一組線程相互等待,直到所有線程都達到了某個公共屏障點(barrier point)。當所有線程都到達屏障點時,它們可以繼續執行后續操作。CyclicBarrier 的特點是可以重復使…

中介子方程五十

XXFXXaXnXaXXαXLXyXXWXuXeXKXXiXyXΣXXΣXXVXuXhXXWXηXXiXhXXpXXhXiXXηXWXXhXuXVXXΣXXΣXyXiXXKXeXuXWXXyXLXαXXaXnXaXXFXXaXnXaXXαXLXyXXWXuXeXKXXiXyXΣXXΣXXVXuXhXXWXηXXiXhXXpXXhXiXXηXWXXhXuXVXXΣXXΣXyXiXXKXeXuXWXXyXLXαXXaXnXaXXFXXuXXWXXuXXdXXrXXαXXuXpX…

Gen4Gen:多概念個性化圖像生成的數據驅動革新

個性化文本到圖像生成模型在用戶控制生成過程方面取得了重要進展。這些模型能夠通過少量訓練樣本學習并合成包含新穎個性化概念的圖像,例如用戶的寵物或特定物品。然而,現有技術在處理多概念個性化時存在局限性,尤其是在生成包含多個相似概念…

連接與隔離:Facebook在全球化背景下的影響力

在當今全球化的背景下,Facebook作為全球最大的社交網絡平臺,不僅連接了世界各地的人們,還在全球社會、經濟和文化中發揮著深遠的影響。本文將深入探討Facebook在全球化進程中的作用,以及其對個體和社會之間連接與隔離的雙重影響。…

【續集】Java之父的退休之旅:從軟件殿堂到多彩人生的探索

Java之父的退休之旅:從軟件殿堂到多彩人生的探索-CSDN博客 四、科技領袖退休后的行業影響 4.1 傳承與啟迪 Gosling等科技領袖的退休,為行業內部年輕一代提供了更多的發展機會和成長空間。他們的退休不僅意味著權力和責任的交接,更是一種精…

等保測評新趨勢:應對數字化轉型中的安全挑戰

隨著信息技術的飛速發展,數字化轉型已成為企業提升競爭力、優化運營效率的重要手段。然而,這一轉型過程中,企業也面臨著前所未有的安全挑戰。等保測評(信息安全等級保護測評)作為保障信息系統安全的重要手段&#xff0…

html5路由如何在nginx上部署(vite+vue3)

我們知道前端常用的有Hash 模式和html5模式的路由,hash模式在nginx上部署不需要額外的操作,而html5模式則需要額外設置,這里介紹下如何在nginx根地址(location / {})下部署和在非根地址上(location /admin{…

【MATLAB源碼-第232期】基于matlab的 (204,188) RS編碼解碼仿真,采用QPSK調制輸出誤碼率曲線。

操作環境: MATLAB 2022a 1、算法描述 Reed-Solomon碼(RS碼)是一類廣泛應用于數字通信和存儲系統中的糾錯碼,尤其在光盤、衛星通信和QR碼等領域有著重要作用。RS碼是一種非二進制的糾刪碼,由Irving S. Reed和Gustave…

當CNN遇上Mamba,高性能與高效率通通拿下!

傳統視覺模型在處理大規模或高分辨率圖像時存在一定限制,為解決這個問題,研究者們就最近依舊火熱的Mamba,提出了Mamba結合CNN的策略。 這種結合可以讓Mamba在處理長序列數據時既能夠捕捉到序列中的時間依賴關系,又能夠利用CNN的局…

思維+并查集,1670C - Where is the Pizza?

一、題目 1、題目描述 2、輸入輸出 2.1輸入 2.2輸出 3、原題鏈接 1670C - Where is the Pizza? 二、解題報告 1、思路分析 考慮兩個數組a,b的每個位置只能從a,b中挑一個 不妨記posa[x]為x在a中位置,posb同理 我們假如位置i挑選a[i]&a…

【JS+H5+CSS實現煙花特效】

話不多說直接上代碼 注意:背景圖路徑是picture/star.jpg&#xff0c;自己在同級目錄先創鍵picture目錄再下載一張圖片命名為star.jpg HTML: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"vi…

【LLM】三、open-webui+ollama搭建自己的聊天機器人

系列文章目錄 往期文章回顧&#xff1a; 【LLM】二、python調用本地的ollama部署的大模型 【LLM】一、利用ollama本地部署大模型 目錄 前言 一、open-webui是什么 二、安裝 1.docker安裝 2.源碼安裝 三、使用 四、問題匯總 總結 前言 前面的文章&#xff0c;我們已經…

探索Qt的QVariant:靈活的數據交換機制

&#x1f60e; 作者介紹&#xff1a;歡迎來到我的主頁&#x1f448;&#xff0c;我是程序員行者孫&#xff0c;一個熱愛分享技術的制能工人。計算機本碩&#xff0c;人工制能研究生。公眾號&#xff1a;AI Sun&#xff08;領取大廠面經等資料&#xff09;&#xff0c;歡迎加我的…

VMware使用技巧

目錄 1. 系統快照 1.1 拍攝快照 1.2 查看快照 1.3 應用/刪除快照 2. 克隆虛擬機 3. 刪除虛擬機 1. 系統快照 1.1 拍攝快照 將當前系統的狀態保存下來&#xff0c;如果將來系統出現不可修復的故障&#xff0c;使用快照可以恢復操作系統&#xff1b; CentOS7——拍照—…

【開源】基于RMBG的一鍵摳圖與證件照制作系統【含一鍵啟動包】

《博主簡介》 小伙伴們好&#xff0c;我是阿旭。專注于人工智能、AIGC、python、計算機視覺相關分享研究。 ?更多學習資源&#xff0c;可關注公-仲-hao:【阿旭算法與機器學習】&#xff0c;共同學習交流~ &#x1f44d;感謝小伙伴們點贊、關注&#xff01; 《------往期經典推…

【Linux】System V信號量詳解以及semget()、semctl()和semop()函數講解

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;個人主頁 &#xff1a;阿然成長日記 …

Kotlin構造函數

目錄 構造函數類型 主構造函數 成員變量設置 私有化操作 次級構造函數 構造函數類型 主構造函數&#xff08;主構造器&#xff09;——只能有一個次構造函數&#xff08;次構造器&#xff09;——可以是多個 主構造函數 構造器 constructor關鍵字前 無注解或修飾符作用&…

性能監控的革命:Eureka引領分布式服務監控新紀元

性能監控的革命&#xff1a;Eureka引領分布式服務監控新紀元 引言 在微服務架構中&#xff0c;服務的分布式性能監控對于維護系統健康和優化用戶體驗至關重要。Eureka作為Netflix開源的服務發現框架&#xff0c;為服務的注冊與發現提供了強大支持&#xff0c;而結合其他工具&…

數字化轉型:企業法務管理的未來發展 ???

在數字化浪潮的推動下&#xff0c;企業法務管理正經歷著前所未有的變革。傳統的法務工作模式在數據處理、合同審查、風險評估等方面逐漸顯得力不從心。面對這一挑戰&#xff0c;企業法務管理的數字化轉型成為提升效率、保障合規、優化法律服務的必然選擇。 數字化轉型涉及到法…