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

K8s中Pod處于Pending狀態(tài)的八種原因分析

 更新時(shí)間:2025年02月24日 08:49:04   作者:Leo-Yide  
文章詳細(xì)介紹了Pod處于Pending狀態(tài)的八種常見原因,并提供了相應(yīng)的排查和解決方法,這些原因包括資源不足、調(diào)度約束、存儲(chǔ)依賴、鏡像問題、配額限制、網(wǎng)絡(luò)暗礁、系統(tǒng)級(jí)異常以及冷門陷阱,每種原因都附帶了具體的診斷方法和解決建議,感興趣的朋友一起看看吧

在生產(chǎn)環(huán)境中遇到Pod卡在Pending狀態(tài),就像外賣小哥找不到配送地址一樣讓人焦慮。作為踩坑無數(shù)的老司機(jī),今天帶大家拆解這個(gè)經(jīng)典問題的排查思路,附贈(zèng)真實(shí)戰(zhàn)場(chǎng)經(jīng)驗(yàn)。(配圖:一個(gè)卡在加載狀態(tài)的Pod圖標(biāo))

一、資源不足:最經(jīng)典的"堵車"場(chǎng)景

典型癥狀:kubectl describe顯示"0/3 nodes are available: 3 Insufficient cpu, 2 Insufficient memory"

深層原因

  • 節(jié)點(diǎn)資源耗盡(真實(shí)案例:某次促銷活動(dòng)忘記擴(kuò)容,節(jié)點(diǎn)CPU利用率達(dá)98%)
  • Pod資源請(qǐng)求過高(常見于新人配置requests=limits)

排查武器庫

kubectl top nodes  # 查看節(jié)點(diǎn)資源水位
kubectl describe node <節(jié)點(diǎn)名> | grep -A 10 Allocated  # 查看具體分配情況

生存指南

  • 緊急擴(kuò)容:kubectl scale deploy/<名稱> --replicas=0先止血
  • 合理配置:遵循黃金法則 - requests=limits的80%
  • 自動(dòng)擴(kuò)縮容:安裝cluster-autoscaler實(shí)現(xiàn)節(jié)點(diǎn)自動(dòng)伸縮

二、調(diào)度約束:K8S版的"落花有意流水無情"

高階踩坑現(xiàn)場(chǎng)

  • nodeSelector選了不存在的標(biāo)簽
  • 親和性設(shè)置過于嚴(yán)格(反例:必須調(diào)度到SSD+GPU節(jié)點(diǎn))
  • 節(jié)點(diǎn)污點(diǎn)未配置容忍(生產(chǎn)環(huán)境常見:專用GPU節(jié)點(diǎn))

診斷秘籍

kubectl get nodes --show-labels | grep <關(guān)鍵標(biāo)簽>
kubectl describe pod | grep -i 'affinity'  # 查看親和性配置

避坑姿勢(shì)

tolerations:  # 污點(diǎn)容忍配置示例
- key: "gpu"
  operator: "Exists"
  effect: "NoSchedule"

三、存儲(chǔ)依賴:等待永久的約會(huì)

經(jīng)典連環(huán)坑

  • PVC找不到匹配的PV(尤其StatefulSet場(chǎng)景)
  • StorageClass配置錯(cuò)誤(測(cè)試環(huán)境用local-path,生產(chǎn)用ceph)
  • 云盤配額不足(AWS EBS類型選錯(cuò))

排查三連擊

kubectl get pvc
kubectl describe storageclass
aws ec2 describe-volumes --region <區(qū)域>  # 云平臺(tái)檢查

實(shí)戰(zhàn)技巧

  • 預(yù)創(chuàng)建PV池應(yīng)對(duì)突發(fā)流量
  • 使用動(dòng)態(tài)供應(yīng)StorageClass
  • 監(jiān)控云平臺(tái)配額:aws service-quotas get-service-quota --service-code ec2 --quota-code L-XXXX

四、鏡像問題:你以為的下載不是下載

隱蔽陷阱

  • 私有倉庫認(rèn)證失?。╧ubelet報(bào)x509證書錯(cuò)誤)
  • 鏡像tag不存在(latest標(biāo)簽被覆蓋)
  • 國(guó)內(nèi)拉取gcr.io鏡像超時(shí)

診斷組合拳

kubectl describe pod | grep -i 'image'
docker pull <鏡像地址>  # 在節(jié)點(diǎn)上手動(dòng)測(cè)試
journalctl -u kubelet | grep -i 'image'  # 查看kubelet日志

救命方案

imagePullSecrets:  # 私有倉庫認(rèn)證配置
- name: regcred

五、配額限制:看不見的天花板

多維限制矩陣

  • Namespace資源配額(ResourceQuota)
  • Service配額(AWS的NLB數(shù)量限制)
  • RBAC權(quán)限不足(ServiceAccount無create權(quán)限)

排查工具箱

kubectl describe quota -n <命名空間>
aws service-quotas list-service-quotas --service-code ec2  # 檢查云配額

破局之道

apiVersion: v1
kind: ResourceQuota
metadata:
  name: team-quota
spec:
  hard:
    requests.cpu: "20"
    requests.memory: 100Gi

六、網(wǎng)絡(luò)暗礁:沉默的殺手

高危場(chǎng)景

  • 網(wǎng)絡(luò)插件異常(Calico的IP池耗盡)
  • 安全組配置錯(cuò)誤(AWS節(jié)點(diǎn)間端口未開放)
  • CNI配置沖突(多網(wǎng)絡(luò)插件混用)

診斷七傷拳

kubectl get pods -n kube-system  # 檢查網(wǎng)絡(luò)組件狀態(tài)
calicoctl ipam show --show-blocks  # Calico IP地址檢查
telnet <節(jié)點(diǎn)IP> 10250  # 檢查節(jié)點(diǎn)間通信

終極防御

  • 定期清理IP池:calicoctl ipam release --ip=<廢棄IP>
  • 使用網(wǎng)絡(luò)策略白名單
  • 啟用NetworkPolicy審計(jì)

七、系統(tǒng)級(jí)異常:底層的暴擊

魔鬼藏在細(xì)節(jié)里

  • kube-scheduler進(jìn)程崩潰
  • 節(jié)點(diǎn)磁盤inode耗盡
  • 內(nèi)核版本不兼容(尤其使用ebpf網(wǎng)絡(luò)插件時(shí))

深度檢測(cè)

systemctl status kube-scheduler  # 調(diào)度器狀態(tài)
df -i  # 檢查inode使用
uname -r  # 核對(duì)內(nèi)核版本

生存法則

  • 部署kube-scheduler的多實(shí)例
  • 啟用節(jié)點(diǎn)自動(dòng)修復(fù)功能
  • 定期內(nèi)核漏洞掃描

八、冷門陷阱:那些年我們踩過的神坑

奇葩問題集錦

  • 時(shí)區(qū)設(shè)置導(dǎo)致cronjob異常
  • 節(jié)點(diǎn)時(shí)間不同步引發(fā)證書驗(yàn)證失敗
  • kube-proxy的conntrack表溢出

診斷冷兵器

chronyc tracking  # 檢查時(shí)間同步
cat /proc/sys/net/netfilter/nf_conntrack_max  # 連接追蹤表大小

防御矩陣

  • 全集群NTP時(shí)間同步
  • 調(diào)整conntrack參數(shù):
sysctl -w net.netfilter.nf_conntrack_max=1048576

終極排查路線圖(思維導(dǎo)圖見文末)

  • 看事件:kubectl describe pod <名稱>
  • 查調(diào)度:kubectl get events --field-selector involvedObject.kind=Pod
  • 核配置:kubectl get pod <名稱> -o yaml
  • 檢資源:kubectl top系列命令
  • 追日志:kubelet和容器運(yùn)行時(shí)日志
  • 測(cè)網(wǎng)絡(luò):節(jié)點(diǎn)間通信測(cè)試
  • 審配額:云平臺(tái)和K8S雙重檢查

武器庫升級(jí)

  • 可視化工具:Lens、K9s
  • 日志系統(tǒng):ELK+Filebeat
  • 監(jiān)控體系:Prometheus+Alertmanager+Grafana黃金組合

寫給開發(fā)者的生存建議

  • 給每個(gè)Pod配置合理的requests/limits
  • 重要服務(wù)添加PreStopHook實(shí)現(xiàn)優(yōu)雅終止
  • 生產(chǎn)環(huán)境Always指定鏡像tag
  • 使用PDB(PodDisruptionBudget)防止意外驅(qū)逐
  • 定期進(jìn)行混沌工程演練

記?。篜ending不是錯(cuò)誤,而是K8S在說"我盡力了,但..."。掌握這套排查心法,下次遇到問題時(shí)你就能淡定地說:"讓子彈飛一會(huì)兒,我先看看調(diào)度日志。"

到此這篇關(guān)于K8s中Pod處于Pending狀態(tài)的八種原因的文章就介紹到這了,更多相關(guān)K8s中Pod處于Pending狀態(tài)的八種原因內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • k8s之安全機(jī)制的使用及說明

    k8s之安全機(jī)制的使用及說明

    Kubernetes的安全機(jī)制主要圍繞保護(hù)APIServer來設(shè)計(jì),包括認(rèn)證、鑒權(quán)和準(zhǔn)入控制三部分,認(rèn)證通過Token、Basic和HTTPS證書進(jìn)行,鑒權(quán)使用AlwaysDeny、AlwaysAllow、ABAC、WebHook和RBAC,準(zhǔn)入控制通過插件進(jìn)行
    2025-11-11
  • 在Kubernetes上部署高可用MinIO集群方式

    在Kubernetes上部署高可用MinIO集群方式

    文章介紹了MinIO的分布式架構(gòu)及其在開發(fā)測(cè)試和生產(chǎn)環(huán)境中的應(yīng)用,重點(diǎn)講解了分布式集群模式的核心組件和部署步驟,并通過驗(yàn)證集群狀態(tài)來確保服務(wù)的高可用性和可靠性
    2025-11-11
  • Kubernetes之Pod的調(diào)度實(shí)現(xiàn)方式

    Kubernetes之Pod的調(diào)度實(shí)現(xiàn)方式

    Kubernetes通過定向調(diào)度(NodeName/NodeSelector)、親和性調(diào)度(NodeAffinity/PodAffinity/PodAntiAffinity)及污點(diǎn)容忍(Taints/Toleration)實(shí)現(xiàn)Pod節(jié)點(diǎn)控制,分別用于強(qiáng)制指定節(jié)點(diǎn)、優(yōu)化部署位置和靈活管理節(jié)點(diǎn)準(zhǔn)入,滿足不同場(chǎng)景下的調(diào)度需求
    2025-09-09
  • 理解k8s控制器DaemonSet創(chuàng)建及使用場(chǎng)景

    理解k8s控制器DaemonSet創(chuàng)建及使用場(chǎng)景

    這篇文章主要為大家介紹了k8s控制器DaemonSet創(chuàng)建及使用場(chǎng)景詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Kubernetes中的存儲(chǔ)卷配置管理方式

    Kubernetes中的存儲(chǔ)卷配置管理方式

    Kubernetes中Volume用于在Pod中提供共享存儲(chǔ),生命周期與Pod解耦,支持多種類型如emptyDir、hostPath、NFS和PersistentVolumeClaim,每種Volume類型適用于不同的場(chǎng)景,如臨時(shí)存儲(chǔ)、宿主機(jī)文件訪問、共享數(shù)據(jù)和持久化存儲(chǔ),通過示例展示了如何創(chuàng)建和使用這些Volume
    2025-12-12
  • k8s admin用戶生成token方式

    k8s admin用戶生成token方式

    用戶使用Kubernetes 1.28創(chuàng)建admin命名空間并部署,通過ClusterRoleBinding為jenkins用戶授權(quán)集群級(jí)權(quán)限,生成并獲取其token,最后檢查token是否存在及生效情況
    2025-09-09
  • 如何使用Kubernetes自定義資源(CRD)詳解

    如何使用Kubernetes自定義資源(CRD)詳解

    自定義資源定義(CRD)是Kubernetes API擴(kuò)展,可以定義新的對(duì)象類型,下面這篇文章主要給大家介紹了關(guān)于如何使用Kubernetes自定義資源(CRD)的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 淺析k8s中各組件和kube?apiserver通信時(shí)的認(rèn)證和鑒權(quán)問題

    淺析k8s中各組件和kube?apiserver通信時(shí)的認(rèn)證和鑒權(quán)問題

    這篇文章主要介紹了k8s中各組件和kube?apiserver通信時(shí)的認(rèn)證和鑒權(quán),本文使用的k8s集群是用kubekey搭建,命令是./kk create cluster --with-kubernetes v1.21.5 --with-kubesphere v3.2.1,需要的朋友可以參考下
    2022-06-06
  • kubectl?命令詳解

    kubectl?命令詳解

    這篇文章主要介紹了kubectl?命令的相關(guān)資料,包括常用命令,基本命令和使用說明,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-04-04
  • Kubernetes 1.28.2集群安裝過程中的關(guān)鍵步驟詳解(最新推薦)

    Kubernetes 1.28.2集群安裝過程中的關(guān)鍵步驟詳解(最新推薦)

    Kubernetes K8s是Google開源的容器編排平臺(tái),最初由Borg項(xiàng)目發(fā)展而來,K8s 1.28版本引入了非正常節(jié)點(diǎn)關(guān)閉恢復(fù)、內(nèi)置Sidecar容器支持、Job優(yōu)化、Proxy改進(jìn)和調(diào)度框架優(yōu)化等功能,本文介紹Kubernetes 1.28.2集群安裝過程中的關(guān)鍵步驟,感興趣的朋友一起看看吧
    2025-03-03

最新評(píng)論

沙坪坝区| 利川市| 边坝县| 夏津县| 沧源| 靖西县| 米林县| 顺平县| 嘉荫县| 合肥市| 德阳市| 镇坪县| 湾仔区| 邯郸市| 南京市| 营口市| 巴马| 托克逊县| 霍林郭勒市| 新巴尔虎右旗| 龙南县| 桑植县| 如皋市| 怀宁县| 保德县| 灵丘县| 贡山| 丹棱县| 高邮市| 策勒县| 金溪县| 保亭| 阿坝县| 孙吴县| 盈江县| 田林县| 临城县| 阳新县| 保亭| 夏津县| 易门县|