作为 DevOps 工程师,您可以检查处于绑定状态的持久卷的运行状况。

对于处于绑定状态的每个持久卷,运行状况显示在绑定到持久卷的持久卷声明的 Annotations: volumehealth.storage.kubernetes.io/messages: 字段中。存在两个可能的运行状况值。
运行状况 描述
可访问 持久卷可访问且可供使用。
不可访问 持久卷不可访问且无法使用。如果连接到数据存储的主机无法访问存储持久卷的数据存储,则该持久卷将变得不可访问。

要在 vSphere Client 中监控卷运行状况,请参见在 vSphere Client 中监控持久卷

过程

  1. 在 vSphere Kubernetes 环境中访问您的命名空间。
  2. 创建持久卷声明。
    1. 创建包含持久卷声明配置的 YAML 文件。
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: my-pvc
      spec:
        accessModes:
          - ReadWriteOnce
        storageClassName: gold
        resources:
          requests:
              storage: 2Gi
                 
    2. 将持久卷声明应用于 Kubernetes 集群。
      kubectl apply -f pvc_name.yaml
      此命令将创建具有满足声明存储要求的支持虚拟磁盘的 Kubernetes 持久卷和 vSphere 卷。
    3. 检查持久卷声明是否已绑定到卷。
      kubectl get pvc my-pvc

      输出将显示持久卷声明和卷已处于绑定状态。

      NAME     STATUS    VOLUME   CAPACITY   ACCESSMODES   STORAGECLASS   AGE
      my-pvc   Bound     my-pvc   2Gi        RWO           gold           30s
  3. 检查卷的运行状况。
    运行以下命令,查看绑定到持久卷的持久卷声明的卷运行状况注释。
    kubectl describe pvc my-pvc

    在以下示例输出中,volumehealth.storage.kubernetes.io/messages 字段将运行状况显示为可访问。

    Name:          my-pvc
    Namespace:     test-ns
    StorageClass:  gold
    Status:        Bound
    Volume:        my-pvc
    Labels:        <none>
    Annotations:   pv.kubernetes.io/bind-completed: yes
                   pv.kubernetes.io/bound-by-controller: yes
                   volume.beta.kubernetes.io/storage-provisioner: csi.vsphere.vmware.com
                   volumehealth.storage.kubernetes.io/messages: accessible
    Finalizers:    [kubernetes.io/pvc-protection]
    Capacity:      2Gi
    Access Modes:  RWO
    VolumeMode:    Filesystem