新聞中心
六種方法教你如何通過kubectl 重啟Pod
作者:云技術趣談 2022-11-29 10:33:15
云計算
云原生 大家可能都知道 kubectl 其實沒有 restart pod 這個命令,這個主要是由于在 k8s 中pod 的管理屬于rs 等控制器,并不需要運維手動維護,但有時候,我們修改了configmap 的配置文件后,希望重啟pod 加載配置,此時就需要 “重啟” Pod。

雞東ssl適用于網站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
點擊參加51CTO網站內容調查問卷
大家可能都知道 kubectl 其實沒有 restart pod 這個命令,這個主要是由于在 k8s 中pod 的管理屬于rs 等控制器,并不需要運維手動維護,但有時候,我們修改了configmap 的配置文件后,希望重啟pod 加載配置,此時就需要 “重啟” Pod。這里說的“重啟”是加了引號的,準確地來說,是重建pod,給用戶的感覺是重啟。
下面介紹六種k8s 里面重啟pod的方式
方法一:kubectl rollout restart
這個命令是比較推薦的,通過
kubectl rollout restart deployment -n 便可以重建這個deployment下的 pod,和滾動升級類似,并不會一次性殺死Pod,比較平滑。
方法二:kubectl scale
這種方法相對來說,比較粗放,我們可以先將副本調成 0
kubectl scale deployment -n --replicas=0 然后再改回目的副本數(shù)
kubectl scale deployment -n --replicas=10 但這個會中斷服務。但兩條命令也能解決,下面介紹的就更直接了。
方法三: kubectl delete pod
這個我就不解釋了
kubectl delete pod -n 還是多說一句,此時優(yōu)雅刪除的效果還是有的。再多說一句,直接刪 rs 效果也挺好。
方法四:kubectl replace
這種方法是通過更新Pod ,從觸發(fā)k8s pod 的更新
kubectl get pod -n -o yaml | kubectl replace --force -f - 方法五:kubectl set env
通過 設置環(huán)境變量,其實也是更新pod spec 從而觸發(fā)滾動升級。
kubectl set env deployment -n DEPLOY_DATE="$(date)" 只不過這里通過kubectl 命令行,當我們通過API 更新pod spec 后一樣會觸發(fā)滾動升級
方法六: kill 1
這種方法就是在容器里面 kill 1 號進程。
kubectl exec -it -c --/bin/sh -c "kill 1" 但是但是但是,重要的話說三遍,它有個局限,必須要求你的 1 號進程要 捕獲 TERM 信號,否則在容器里面是殺不死自己的,這個在之前的文章已經介紹過了。
分享名稱:六種方法教你如何通過Kubectl 重啟Pod
網站網址:http://www.dlmjj.cn/article/cogchsc.html


咨詢
建站咨詢
