pod 具有未绑定的即时 PersistentVolumeClaims重复 2 次

问题描述

我正在使用 AKS,我正在尝试使用 yaml 中的 pvc 创建一个 statefulset。 看起来 pvc 创建成功并绑定。 但我看到 pod 状态是 CrashLoopBackOff 当我在 pod 上使用 describe 时,我收到以下事件:

  Type     Reason                  Age                    From                                        Message
  ----     ------                  ----                   ----                                        -------
  Warning  FailedScheduling        38m (x2 over 38m)      default-scheduler                           pod has unbound immediate PersistentVolumeClaims (repeated 2 times)
  normal   Scheduled               38m                    default-scheduler                           Successfully assigned default/janusgraph-test3-0 to aks-agentpool-26199593-vmss000000
  normal   SuccessfulAttachVolume  37m                    attachdetach-controller                     AttachVolume.Attach succeeded for volume "pvc-00b88841-a21d-430c-9f2f-b65307b156c2"
  normal   Pulled                  34m (x4 over 37m)      kubelet,aks-agentpool-26199593-vmss000000  Successfully pulled image "janusgraph/janusgraph:latest"
  normal   Created                 34m (x4 over 37m)      kubelet,aks-agentpool-26199593-vmss000000  Created container janusgraph-test3
  normal   Started                 34m (x4 over 37m)      kubelet,aks-agentpool-26199593-vmss000000  Started container janusgraph-test3
  normal   Pulling                 32m (x5 over 37m)      kubelet,aks-agentpool-26199593-vmss000000  Pulling image "janusgraph/janusgraph:latest"
  Warning  BackOff                 2m42s (x124 over 36m)  kubelet,aks-agentpool-26199593-vmss000000  Back-off restarting Failed container

PVC 是:

  volumeClaimTemplates:
    - Metadata:
        name: data
      spec:
        accessModes: ["ReadWriteOnce"]
        storageClassName: "default"
        resources:
          requests:
            storage: 7Gi

当我在 PVC 上运行 descibe 时,我得到了这个事件(这意味着一切都好!):

  Type       Reason                 Age   From                         Message
  ----       ------                 ----  ----                         -------
  normal     ProvisioningSucceeded  19m   persistentvolume-controller  Successfully provisioned volume pvc-00b88841-a21d-430c-9f2f-b65307b156c2 using kubernetes.io/azure-disk

这里是完整的描述 pvc 信息:

Name:          data-janusgraph-test3-0
Namespace:     default
StorageClass:  default
Status:        Bound
Volume:        pvc-00b88841-a21d-430c-9f2f-b65307b156c2
Labels:        app=janusgraph-test3
Annotations:   pv.kubernetes.io/bind-completed: yes
               pv.kubernetes.io/bound-by-controller: yes
               volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/azure-disk
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      7Gi
Access Modes:  RWO
VolumeMode:    Filesystem
Events:
  Type       Reason                 Age   From                         Message
  ----       ------                 ----  ----                         -------
  normal     ProvisioningSucceeded  19m   persistentvolume-controller  Successfully provisioned volume pvc-00b88841-a21d-430c-9f2f-b65307b156c2 using kubernetes.io/azure-disk
Mounted By:  janusgraph-test3-0

根据上面的信息,我不知道到底出了什么问题,当我在网上查看类似的问题时,我发现它通常与不同的读/写访问有关,但显然这里不是这种情况,因为关于这个没有错误。此外,我已经在我的 AKS 中创建了另外两个状态集,它们使用相同类型的配置,只是状态集名称不同。

---- 更新: 此外,在 pod 上运行 kubectl logs 显示

waiting for storage...
waiting for storage...
waiting for storage...
waiting for storage...
waiting for storage...
waiting for storage...
waiting for storage...
waiting for storage...
waiting for storage...
waiting for storage...
waiting for storage...
waiting for storage...
Error occurred during initialization of VM
agent library Failed to init: instrument
Error opening zip file or JAR manifest missing : /var/lib/janusgraph/jmx_prometheus_javaagent-0.13.0.jar

正如您现在所看到的,由于某种原因,容器存储并未真正附加,(我猜 JAR 的错误只是一个副作用)。 有什么想法吗?

解决方法

Pod 处于 CrashLoopBackOff 状态意味着在容器内运行的脚本存在一些问题。

检查 kubectl logs 命令的输出以了解 Pod 崩溃的原因。