持续的卷轴挂载导致App安装挂起。

问题描述 投票:0回答:1

我在以下的部署中使用了如下的体积索赔。

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: persistent-storage-claim
  labels:
    app: {{ include "api-chart.name" . }}
    chart: {{ include "api-chart.chart" . }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
  storageClassName: managed-premium
  volumeName: personal

在以下部署中。

...
...
 spec:
      imagePullSecrets:
        - name: registrySecret
      volumes:
        - name: personal-volume
          persistentVolumeClaim:
            claimName: persistent-storage-claim
      containers:
        - name: container1
          image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
          imagePullPolicy: {{ .Values.image.pullPolicy }}
          ports:
            - name: http
              containerPort: {{ .Values.service.targetPort }}
              protocol: TCP
          volumeMounts:
            - name: personal-volume
              mountPath: "/workspace"
...

安装该卷似乎会导致部署挂起(它没有部署,但我在任何地方都没有看到错误信息)。如果 volumenMounts 部分被删除,部署成功。我使用的是 helm install 来部署应用程序。有什么办法可以解决这个问题吗?或者至少如何调试这个问题?

更新。kubectl get events返回以下内容。

LAST SEEN   TYPE      REASON              OBJECT                                                                             MESSAGE
46s         Warning   FailedScheduling    pod/storage-test-labd62r2                pod has unbound immediate PersistentVolumeClaims (repeated 3 times)
24m         Normal    SuccessfulCreate    replicaset/test-storage-b65db5698   Created pod: storage-test-labd62r2
24m         Normal    ScalingReplicaSet   deployment/test-storage            Scaled up replica set test-storage-b65db5698 to 1
24m         Normal    CREATE              ingress/test-storage               Ingress default/test-storage
24m         Normal    CREATE              ingress/test-storage               Ingress default/test-storage
24m         Normal    UPDATE              ingress/test-storage               Ingress default/test-storage
24m         Normal    UPDATE              ingress/test-storage               Ingress default/test-storage

kubectl get pvc 给予。

NAME                       STATUS    VOLUME                    CAPACITY   ACCESS MODES   STORAGECLASS      AGE
persistent-storage-claim   Pending   personal                  0                         managed-premium   33m

kubectl get pv 不显示任何东西

kubectl svc:

NAME                                                          TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)           AGE
test-storage   ClusterIP   10.0.244.147   <none>        80/TCP,8080/TCP   35m
kubernetes                                                    ClusterIP   10.0.0.1       <none>        443/TCP           16d
azure kubernetes kubernetes-helm persistent-volumes
1个回答
0
投票

这种情况的发生一般是因为没有手动配置的 PersistentVolume 以满足 PersistentVolumeClaimStorageClass 不存在或不能动态地提供一种新技术。PersistentVolume 以满足 PersistentVolumeClaim

© www.soinside.com 2019 - 2024. All rights reserved.