首页 > 解决方案 > 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 中创建了另外 2 个有状态集,它们使用相同类型的配置,只是有不同的状态集名称。

---- 更新:此外,在 pod 上运行kubectl 日志显示如下:

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 的错误只是一个副作用)。任何想法?

标签: kubernetesazure-akskubernetes-statefulsetkubernetes-pvc

解决方案


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

检查kubectl logs命令的输出以查看 pod 崩溃的原因。


推荐阅读