k8s的pod狀態(tài)異常,報(bào)had volume node affinity conflict

問(wèn)題描述

在k8s集群上部署服務(wù),pod狀態(tài)一直無(wú)法running,通過(guò)kubectl describe pod xxx -n xxx查看event事件,發(fā)現(xiàn)類似“0/9 nodes are available: 9 node(s) had volume node affinity conflict”的報(bào)錯(cuò),提示node上有volume的節(jié)點(diǎn)親和性沖突問(wèn)題。

原因分析

1、找出異常pod使用的pv名稱,先確定容器volume用的是k8s哪個(gè)pv

kubectl get pod xxx -o yaml -n xxx

2、查看pv的親和性信息,找到nodeAffinity對(duì)應(yīng)的k8s節(jié)點(diǎn)標(biāo)簽

kubectl get pv xxx -o yaml -n xxx

3、查看k8s節(jié)點(diǎn)實(shí)際label,是否與pv親和性key的標(biāo)簽一致,肯定是有沖突

kubectl get nodes --show-labels

解決辦法

根據(jù)pv的nodeAffinity的value,修改下k8s集群node對(duì)應(yīng)label key的value值,命名格式:kubectl label nodes <node-name> <label-key>=<label-value> --overwrite,如修改192.168.0.1節(jié)點(diǎn)hostname值為kafka-1。

kubectl label nodes 192.168.0.1 kubernetes.io/hostname=kafka-1 --overwrite

附錄

為k8s-test01節(jié)點(diǎn)添加gpu標(biāo)簽語(yǔ)法:
kubectl label nodes k8s-test01 gpu=label_value
刪除k8s-test01節(jié)點(diǎn)gpu標(biāo)簽語(yǔ)法:
kubectl label nodes k8s-test01 gpu-

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容