当前位置: 首页>后端>正文

k8s的pod状态异常,报had volume node affinity conflict

问题描述

在k8s集群上部署服务,pod状态一直无法running,通过kubectl describe pod xxx -n xxx查看event事件,发现类似“0/9 nodes are available: 9 node(s) had volume node affinity conflict”的报错,提示node上有volume的节点亲和性冲突问题。

原因分析

1、找出异常pod使用的pv名称,先确定容器volume用的是k8s哪个pv

kubectl get pod xxx -o yaml -n xxx

2、查看pv的亲和性信息,找到nodeAffinity对应的k8s节点标签

kubectl get pv xxx -o yaml -n xxx

3、查看k8s节点实际label,是否与pv亲和性key的标签一致,肯定是有冲突

kubectl get nodes --show-labels

解决办法

根据pv的nodeAffinity的value,修改下k8s集群node对应label key的value值,命名格式:kubectl label nodes <node-name> <label-key>=<label-value> --overwrite,如修改192.168.0.1节点hostname值为kafka-1。

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

附录

为k8s-test01节点添加gpu标签语法:
kubectl label nodes k8s-test01 gpu=label_value
删除k8s-test01节点gpu标签语法:
kubectl label nodes k8s-test01 gpu-


https://www.xamrdz.com/backend/34k1935784.html

相关文章: