kubernetes - 找不到Kubernetes容器VolumeMounts吗?

标签 kubernetes yaml podspec

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

The Deployment "postgres-airflow" is invalid: spec.template.spec.containers[0].volumeMounts[0].name: Not found: "postgres-vol"

可以请一些对此有所说明吗?不知道我缺少什么,如果有人可以让我知道如何使用azure文件共享作为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设置的Docs

关于kubernetes - 找不到Kubernetes容器VolumeMounts吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61134549/

相关文章:

linux - 使用剧本的 YAML 语法错误 (Ansible)

kubernetes - 我的 GKE 集群的主可用区有多高?

kubernetes - 临时Kubernetes查询

java - 使用 Jackson 将 Java 对象实例写入 YAML

yaml - 将列表作为第二个参数传递时,Fn::Sub 的阶跃函数云形成问题

objective-c - 将 Objective-C pod 作为依赖项导入到 Swift pod 中

swift - 无法识别的 `swift_version` key

amazon-web-services - AWS kubernetes 完成工作后调用 lambda 函数

kubernetes - 如何在kubernetes nginx入口 Controller API对象中配置本地化的URL