吊舱具有未绑定的即时PersistentVolumeClaims运营经理

问题描述

编辑:请看下面

我是新手,尝试使用kubeadm用2台物理计算机构建本地集群。我正在执行此https://github.com/mongodb/mongodb-enterprise-kubernetes步骤,一切正常。起初,我正在安装kubernetes运算符,但是当我尝试安装ops Manager时,我得到了: 0/2节点可用:2个容器具有未绑定的即时PersistentVolumeClaims ops管理器。 我用来安装ops Manager的Yaml是:

  ---
    apiVersion: mongodb.com/v1
    kind: MongoDBOpsManager
    Metadata:
    
      name: opsmanager1
    
    spec:
    
      replicas: 2
    
      version: 4.2.0
    
      adminCredentials: mongo-db-admin1 # Should match Metadata.name
    
                                               # in the Kubernetes secret
    
                                               # for the admin user
    
      externalConnectivity:
    
        type: NodePort
    
    
    
      applicationDatabase:
    
        members: 3
    
        version: 4.4.0
    
        persistent: true
    
        podSpec:
       
           persistence:
    
             single: 
    
               storage: 1Gi

我不知道是什么问题。我处于测试阶段,我的目标是建立一个可伸缩的mongo数据库。预先感谢

编辑:我做了一些更改。我创建了这样的存储类:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    Metadata:
    
      name: localstorage
    
    provisioner: kubernetes.io/no-provisioner
    volumeBindingMode: Immediate
    reclaimPolicy: Delete
    allowVolumeExpansion: True
    
    ---
    kind: PersistentVolume
    apiVersion: v1
    Metadata:
      name: mongo-01
      labels:
        type: local
    spec:
      storageClassName: localstorage
      capacity:
        storage: 2Gi
      accessModes:
        - ReadWriteOnce
      hostPath:
        path: "/home/master/mongo01"
    
    ---
    kind: PersistentVolume
    apiVersion: v1
    Metadata:
      name: mongo-02
      labels:
        type: local
    spec:
      storageClassName: localstorage
      capacity:
        storage: 2Gi
      accessModes:
        - ReadWriteOnce
      hostPath:
        path: "/home/master/mongo02"

现在我对运维经理的看法是:

apiVersion: mongodb.com/v1
kind: MongoDBOpsManager
Metadata:
 name: ops-manager-localmode
spec:
 replicas: 2
 version: 4.2.12
 adminCredentials: mongo-db-admin1
 externalConnectivity:
    type: NodePort
 
 statefulSet:
   spec:
     # the Persistent Volume Claim will be created for each Ops Manager Pod
     volumeClaimTemplates:
       - Metadata:
           name: mongodb-versions
         spec:
           storageClassName: localstorage
           accessModes: [ "ReadWriteOnce" ]
           resources:
             requests:
               storage: 2Gi
     template:
       spec:
         containers:
           - name: mongodb-ops-manager
             volumeMounts:
               - name: mongodb-versions
                 # this is the directory in each Pod where all MongoDB
                 # archives must be put
                 mountPath: /mongodb-ops-manager/mongodb-releases

 backup:
   enabled: false

 applicationDatabase:
   members: 3
   version: 4.4.0

   persistent: true

但是我收到一个错误警告ProvisioningFailed 44s(x6超过6m53s)persistentvolume-controller没有卷插件匹配名称:kubernetes.io/no-provisioner

解决方法

乍一看,您似乎没有任何可以在集群上创建PVC的卷。参见https://v1-15.docs.kubernetes.io/docs/concepts/storage/volumes/ 您的应用程序需要创建一个持久卷,但是您的集群不知道该怎么做。