Kubernetes k8s-煤渣“;0/x个节点可用:x个节点有卷节点关联冲突“;

Kubernetes k8s-煤渣“;0/x个节点可用:x个节点有卷节点关联冲突“;,kubernetes,openstack-cinder,Kubernetes,Openstack Cinder,我有自己的集群k8s。我正在尝试将集群链接到openstack/cinder 当我创建PVC时,我可以看到k8s中的PV和Openstack中的体积。 但是,当我将pod与PVC链接时,我会收到消息k8s-Cinder“0/x节点可用:x节点有卷节点关联冲突” 我的yml测试: kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: classic provisioner: kubernetes.io/cinder p

我有自己的集群k8s。我正在尝试将集群链接到openstack/cinder

当我创建PVC时,我可以看到k8s中的PV和Openstack中的体积。 但是,当我将pod与PVC链接时,我会收到消息k8s-Cinder“0/x节点可用:x节点有卷节点关联冲突”

我的yml测试:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: classic
provisioner: kubernetes.io/cinder
parameters:
  type: classic

---


kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvc-infra-consuldata4
  namespace: infra
spec:
  storageClassName: classic
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi

---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: consul
  namespace: infra
  labels:
    app: consul
spec:
  replicas: 1
  selector:
    matchLabels:
      app: consul
  template:
    metadata:
      labels:
        app: consul
    spec:
      containers:
      - name: consul
        image: consul:1.4.3
        volumeMounts:
        - name: data
          mountPath: /consul
        resources:
          requests:
            cpu: 100m
          limits:
            cpu: 500m
        command: ["consul", "agent", "-server", "-bootstrap", "-ui", "-bind", "0.0.0.0", "-client", "0.0.0.0", "-data-dir", "/consul"]
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: pvc-infra-consuldata4
结果是:

kpro describe pvc -n infra
Name:          pvc-infra-consuldata4
Namespace:     infra
StorageClass:  classic
Status:        Bound
Volume:        pvc-76bfdaf1-40bb-11e9-98de-fa163e53311c
Labels:        
Annotations:   kubectl.kubernetes.io/last-applied-configuration:
                 {"apiVersion":"v1","kind":"PersistentVolumeClaim","metadata":{"annotations":{},"name":"pvc-infra-consuldata4","namespace":"infra"},"spec":...
               pv.kubernetes.io/bind-completed: yes
               pv.kubernetes.io/bound-by-controller: yes
               volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/cinder
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      1Gi
Access Modes:  RWO
VolumeMode:    Filesystem
Events:
  Type       Reason                 Age   From                         Message
  ----       ------                 ----  ----                         -------
  Normal     ProvisioningSucceeded  61s   persistentvolume-controller  Successfully provisioned volume pvc-76bfdaf1-40bb-11e9-98de-fa163e53311c using kubernetes.io/cinder
Mounted By:  consul-85684dd7fc-j84v7
kpro描述采购订单-n infra CONSOR-85684dd7fc-j84v7
名称:领事-85684dd7fc-j84v7
名称空间:infra
优先级:0
PriorityClassName:
节点:
标签:app=领事
pod模板哈希=85684dd7fc
注释:
状态:待定
知识产权:
控制人:ReplicaSet/Consor-85684dd7fc
容器:
领事:
图片:领事:1.4.3
端口:
主机端口:
命令:
领事
代理人
-服务器
-引导
-用户界面
-束缚
0.0.0.0
-客户
0.0.0.0
-数据目录
/执政官
限制:
中央处理器:2
请求:
cpu:500米
环境:
挂载:
/数据部领事(rw)
/默认令牌nxchv(ro)中的var/run/secrets/kubernetes.io/serviceCount
条件:
类型状态
播客计划错误
卷数:
数据:
类型:PersistentVolumeClaim(对同一命名空间中PersistentVolumeClaim的引用)
索赔名称:pvc-infra-4
只读:false
默认令牌nxchv:
类型:Secret(由Secret填充的卷)
SecretName:默认令牌nxchv
可选:false
QoS等级:Burstable
节点选择器:
容差:node.kubernetes.io/未就绪:不执行300秒
node.kubernetes.io/不可访问:不执行300秒
活动:
从消息中键入原因年龄
----     ------            ----                 ----               -------
警告FailedScheduling 36s(x6超过2m40s)默认计划程序0/6个节点可用:6个节点存在卷节点关联冲突。

为什么K8s成功创建了Cinder卷,但它无法计划pod?

您已经设置了provisioner:kubernetes.io/Cinder,它基于kubernetes的文档:

注意:

功能状态:
Kubernetes 1.11

OpenStack的此内部供应器已弃用。请使用

根据需要,您应该设置
provisioner:openstack.org/standalone cinder

请查看详细的使用和
yaml
文件

您可能还对阅读这些问题感兴趣:


尝试找出持久卷的节点相关性:

$ kubctl describe pv pvc-76bfdaf1-40bb-11e9-98de-fa163e53311c
Node Affinity:     
  Required Terms:  
    Term 0:        kubernetes.io/hostname in [xxx]

然后尝试找出
xxx
是否与pod应该运行的节点标签
yyy
匹配:

$ kubectl get nodes
NAME      STATUS   ROLES               AGE   VERSION
yyy       Ready    worker              8d    v1.15.3


如果它们不匹配,您将出现
“x节点有卷节点关联冲突”
错误,您需要使用正确的
nodeAffinity
配置重新创建持久卷。

您正在运行哪个k8s版本?您好,服务器版本:version.Info{Major:“1”,Minor:“13”,GitVersion:“v1.13.3”,GitCommit:“721bfa751924da8d1680787490c54b9179b1fed0”,GitTreeState:“干净”,构建日期:“2019-02-01T20:00:57Z”,政府版本:“go1.11.5”,编译器:“gc”,平台:“linux/amd64”}
$ kubectl get nodes
NAME      STATUS   ROLES               AGE   VERSION
yyy       Ready    worker              8d    v1.15.3