Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未找到Kubernetes容器卷数?_Kubernetes - Fatal编程技术网

未找到Kubernetes容器卷数?

未找到Kubernetes容器卷数?,kubernetes,Kubernetes,我一直试图用kubernetes中的以下yaml创建postgresdb,但遇到以下错误 The Deployment "postgres-airflow" is invalid: spec.template.spec.containers[0].volumeMounts[0].name: Not found: "postgres-vol" 有人能解释一下吗?不确定我遗漏了什么,如果有人能让我知道如何使用azure fileshare作为storageClass创建动态卷,那将更有帮助。任何帮

我一直试图用kubernetes中的以下yaml创建postgresdb,但遇到以下错误

The Deployment "postgres-airflow" is invalid: spec.template.spec.containers[0].volumeMounts[0].name: Not found: "postgres-vol"
有人能解释一下吗?不确定我遗漏了什么,如果有人能让我知道如何使用azure fileshare作为storageClass创建动态卷,那将更有帮助。任何帮助都将不胜感激

我用来部署postgres的Yaml文件如下

kind: Deployment
apiVersion: apps/v1 
metadata:
  name: postgres-airflow
spec:
  replicas: 1 
  selector:
    matchLabels:
      name: postgres-airflow
  template:
    metadata:
      labels:
        name: postgres-airflow
    spec:
      restartPolicy: Always
      containers:
      - name: postgres
        image: postgres
        imagePullPolicy: IfNotPresent
        ports:
          - containerPort: 5432
            protocol: TCP
        volumeMounts:
        - mountPath: "/var/lib/postgresql/data/pgdata"
          name: postgres-vol
          subPath: pgdata
        env:
        - name: POSTGRES_USER
          value: root
        - name: POSTGRES_PASSWORD
          value: root
        - name: POSTGRES_DB
          value: airflow
        - name: PGDATA
          value: /var/lib/postgresql/data/pgdata
        - name: POD_IP
          valueFrom: { fieldRef: { fieldPath: status.podIP } }
        livenessProbe:
          initialDelaySeconds: 60
          timeoutSeconds: 5
          failureThreshold: 5
          exec:
            command:
            - /bin/sh
            - -c
            - exec pg_isready --host $POD_IP ||  if [[ $(psql -qtAc --host $POD_IP 'SELECT pg_is_in_recovery') != "f" ]]; then  exit 0 else; exit 1; fi
        readinessProbe:
          initialDelaySeconds: 5
          timeoutSeconds: 5
          periodSeconds: 5
          exec:
            command:
            - /bin/sh
            - -c
            - exec pg_isready --host $POD_IP
        resources:
          requests:
            ephemeral-storage: 5Gi
            memory: .5Gi
            cpu: .5
      volumes:
      - name: postgres-db-volume
        emptyDir: {}
在卷中,您有postgres db volume,但在卷装载中,您提供的postgres vol不匹配并导致此错误

关于如何使用azure文件共享进行动态PV资源调配。

在卷中,您有postgres db volume,但在卷装载中,您提供的postgres vol不匹配,导致此错误


关于如何使用azure文件共享进行动态PV资源调配。

您遇到此错误,因为您的VolumeMount需要在卷中列出一个名称。检查此示例:您有一个卷名:postgres db volume和一个volumeMount名称:postgres-vol。关于动态卷,我不熟悉Azure fileshare,但此文档可能会有所帮助:您遇到此错误,因为您的volumeMount需要在卷中列出一个名称。检查此示例:您有一个卷名:postgres db volume和一个卷名:postgres-vol。关于动态卷,我不熟悉Azure fileshare,但此文档可能有帮助: