Kubernetes:Postgres 容器不断重新启动

Swe*_*rma 0 postgresql docker kubernetes

下面是 postgres 服务文件,它定义了 postgres 服务的服务和部署。然而,postgres 服务每分钟都会重新启动。谁能帮助我理解为什么它不断重新启动?我正在 Minikube (1.18) 上运行 yaml 文件

apiVersion: v1
kind: Service
metadata:
  name: postgresdb
  labels:
    app: postgresdb
spec:
  ports:
  - port: 5432
    name: tcp
  selector:
    app: postgresdb
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: postgresdb-v1
  labels:
    app: postgresdb
    version: v1
spec:
  replicas: 1
  selector:
    matchLabels:
      app: postgresdb
      version: v1
  template:
    metadata:
      labels:
        app: postgresdb
        version: v1
    spec:
      containers:
      - name: postgresdb
        image: postgres
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 5432
        env:
          - name: POSTGRES_DB
            value: simple-service 
          - name: POSTGRES_USER
            value: user
          - name: POSTGRES_PASSWORD
            value: pass
        readinessProbe:
          exec:
            command: ["psql", "-P", "pass", "-U", "user", "-d", "simple-service", "-c", "SELECT 1"]
          initialDelaySeconds: 15
          timeoutSeconds: 2
        livenessProbe:
          exec:
            command: ["psql", "-P", "pass", "-U", "user", "-d", "simple-service", "-c", "SELECT 1"]
          initialDelaySeconds: 45
          timeoutSeconds: 2
                
---
Run Code Online (Sandbox Code Playgroud)

Tar*_*sla 5

由于脚本中的标志无效,您的准备情况探测失败。要通过命令行传递密码,请使用 -W 或 --password 检查此处的文档

所以你的探测应该如下(就绪性和活跃度探测)

command: ["psql", "--password", "pass", "-U", "user", "-d", "simple-service", "-c", "SELECT 1"]
Run Code Online (Sandbox Code Playgroud)