首页 > 解决方案 > 在 k8s 中创建 postgresql 时出现 CreateContainerError

问题描述

我正在尝试在 k8s 上运行 postgresql db,从文件创建所有内容时没有错误,但部署中的 pod 无法创建容器。有我的yaml代码:

配置图:

apiVersion: v1
kind: ConfigMap
metadata:
  name: postgres-config
  labels:
    app: postgres 
data:
  POSTGRES_DB: postgresdb
  POSTGRES_USER: postgresadmin
  POSTGRES_PASSWORD: adminpassword

部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: postgres
spec:
  replicas: 1
  selector:
    matchLabels:
      app: postgres
  template:
    metadata:
      labels:
        app: postgres
    spec:
      containers:
        - name: postgres
          image: postgres:10.18
          imagePullPolicy: "IfNotPresent"
          ports:
            - containerPort: 5432
          envFrom:
            - configMapRef:
                name: postgres-config
          volumeMounts:
            - mountPath: /var/lib/postgresql/data 
              name: postgredb
      volumes:
        - name: postgredb 
          persistentVolumeClaim:
            claimName: postgres-pv-claim

服务:

apiVersion: v1
kind: Service
metadata:
  name: postgres
  labels:
    app: postgres
spec:
  type: ClusterIP
  ports: 
    - port: 5432
  selector:
    app: postgres

在我使用之后:

kubectl create -f filename

我有 :

configmap/postgres-config created
persistentvolume/postgres-pv-volume created
persistentvolumeclaim/postgres-pv-claim created
deployment.apps/postgres created
service/postgres created

但是当我输入时:

kubectl get pods 

有一个错误:

postgres-78496cc865-85kt7   0/1     CreateContainerError   0          13m

这是 PV 和 PVC,问题上没有更多空间将其作为代码进行广告 :)

标签: postgresqldockerkubernetes

解决方案


感谢所有试图帮助我的人!问题出在 PersistentVolume.spec.hostPath.path。路径中有一个无效字符。我尝试使用“./path”。


推荐阅读