问题描述
我正在使用 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 崩溃的原因。