Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.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 部署中的Pod赢得';完成准备检查_Kubernetes_Deployment_Livenessprobe - Fatal编程技术网

Kubernetes 部署中的Pod赢得';完成准备检查

Kubernetes 部署中的Pod赢得';完成准备检查,kubernetes,deployment,livenessprobe,Kubernetes,Deployment,Livenessprobe,我对一个nginx pod进行了一个简单的部署,然后对部署进行了编辑,通过TCP添加了readinessProbe和livenessProbe,就像在中一样 一旦我保存了它,部署就创建了一个新的复制集并启动了新的pod,但探测从未完成 以下是descripe命令的部署yaml输出: apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "2

我对一个nginx pod进行了一个简单的部署,然后对部署进行了编辑,通过TCP添加了readinessProbe和livenessProbe,就像在中一样

一旦我保存了它,部署就创建了一个新的复制集并启动了新的pod,但探测从未完成

以下是descripe命令的部署yaml输出:

apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "2"
  creationTimestamp: "2020-09-21T18:51:13Z"
  generation: 2
  labels:
    app: dep1
  name: dep1
  namespace: default
  resourceVersion: "1683893"
  selfLink: /apis/apps/v1/namespaces/default/deployments/dep1
  uid: b23bceff-aca5-4c89-84c0-5882cf2df217
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: dep1
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: dep1
    spec:
      containers:
      - image: nginx
        imagePullPolicy: Always
        livenessProbe:
          failureThreshold: 3
          initialDelaySeconds: 15
          periodSeconds: 20
          successThreshold: 1
          tcpSocket:
            port: 8080
          timeoutSeconds: 1
        name: nginx
        ports:
        - containerPort: 8080
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          initialDelaySeconds: 5
          periodSeconds: 10
          successThreshold: 1
          tcpSocket:
            port: 8080
          timeoutSeconds: 1
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
status:
  availableReplicas: 1
  conditions:
  - lastTransitionTime: "2020-09-21T18:51:16Z"
    lastUpdateTime: "2020-09-21T18:51:16Z"
    message: Deployment has minimum availability.
    reason: MinimumReplicasAvailable
    status: "True"
    type: Available
  - lastTransitionTime: "2020-09-21T18:51:13Z"
    lastUpdateTime: "2020-09-21T19:16:07Z"
    message: ReplicaSet "dep1-5d66c67794" is progressing.
    reason: ReplicaSetUpdated
    status: "True"
    type: Progressing
  observedGeneration: 2
  readyReplicas: 1
  replicas: 2
  unavailableReplicas: 1
  updatedReplicas: 1
以下是pod的事件:

Events:
  Type     Reason     Age                     From                     Message
  ----     ------     ----                    ----                     -------
  Normal   Scheduled  <unknown>               default-scheduler        Successfully assigned default/dep1-5d66c67794-qd48q to docker-desktop
  Normal   Pulling    13m (x2 over 14m)       kubelet, docker-desktop  Pulling image "nginx"
  Normal   Killing    13m                     kubelet, docker-desktop  Container nginx failed liveness probe, will be restarted
  Normal   Pulled     13m (x2 over 14m)       kubelet, docker-desktop  Successfully pulled image "nginx"
  Normal   Created    13m (x2 over 14m)       kubelet, docker-desktop  Created container nginx
  Normal   Started    13m (x2 over 14m)       kubelet, docker-desktop  Started container nginx
  Warning  Unhealthy  12m (x5 over 14m)       kubelet, docker-desktop  Liveness probe failed: dial tcp 10.1.0.174:8080: connect: connection refused
  Warning  Unhealthy  9m48s (x30 over 14m)    kubelet, docker-desktop  Readiness probe failed: dial tcp 10.1.0.174:8080: connect: connection refused
  Warning  BackOff    4m42s (x11 over 8m36s)  kubelet, docker-desktop  Back-off restarting failed container

默认情况下,nginx webserver公开端口80,不仅您的运行状况检查不起作用,而且您的应用程序永远不会在端口8080上打开。本文中使用的docker映像是
k8s.gcr.io/goproxy:0.1
,您使用的是
nginx
。尝试此配置或将映像部署更改为
k8s.gcr.io/goproxy:0.1

spec:
  containers:
  - image: nginx
    imagePullPolicy: Always
    livenessProbe:
      failureThreshold: 3
      initialDelaySeconds: 15
      periodSeconds: 20
      successThreshold: 1
      tcpSocket:
        port: 80
      timeoutSeconds: 1
    name: nginx
    ports:
    - containerPort: 80
      protocol: TCP
    readinessProbe:
      failureThreshold: 3
      initialDelaySeconds: 5
      periodSeconds: 10
      successThreshold: 1
      tcpSocket:
        port: 80
      timeoutSeconds: 1

默认情况下,nginx webserver公开端口80,不仅您的运行状况检查不起作用,而且您的应用程序永远不会在端口8080上打开。本文中使用的docker映像是
k8s.gcr.io/goproxy:0.1
,您使用的是
nginx
。尝试此配置或将映像部署更改为
k8s.gcr.io/goproxy:0.1

spec:
  containers:
  - image: nginx
    imagePullPolicy: Always
    livenessProbe:
      failureThreshold: 3
      initialDelaySeconds: 15
      periodSeconds: 20
      successThreshold: 1
      tcpSocket:
        port: 80
      timeoutSeconds: 1
    name: nginx
    ports:
    - containerPort: 80
      protocol: TCP
    readinessProbe:
      failureThreshold: 3
      initialDelaySeconds: 5
      periodSeconds: 10
      successThreshold: 1
      tcpSocket:
        port: 80
      timeoutSeconds: 1

这就是解决办法。我没有考虑潜在的形象。非常感谢。这就是解决办法。我没有考虑潜在的形象。非常感谢。