【问题标题】:Kubernetes rollout give 503 error when switching web podsKubernetes 推出在切换 Web pod 时出现 503 错误
【发布时间】:2023-04-06 01:33:01
【问题描述】:

我正在运行这个命令:

kubectl set image deployment/www-deployment VERSION_www=newImage

工作正常。但是有一个10秒的窗口,网站是503,我是个完美主义者。

如何配置 kubernetes 在切换入口之前等待图像可用?

我在这里使用 nginx 入口控制器:

gcr.io/google_containers/nginx-ingress-controller:0.8.3

还有这个用于 Web 服务器的 yaml:

# Service and Deployment
apiVersion: v1
kind: Service
metadata:
  name: www-service
spec:
  ports:
  - name: http-port
    port: 80
    protocol: TCP
    targetPort: http-port
  selector:
    app: www
  sessionAffinity: None
  type: ClusterIP
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: www-deployment
spec:
  replicas: 1
  template:
    metadata:
      labels: 
        app: www
    spec:
      containers:
      - image: myapp/www
        imagePullPolicy: Always
        livenessProbe:
          httpGet:
            path: /healthz
            port: http-port
        name: www
        ports:
        - containerPort: 80
          name: http-port
          protocol: TCP
        resources:
          requests:
            cpu: 100m
            memory: 100Mi
        volumeMounts:
        - mountPath: /etc/env-volume
          name: config
          readOnly: true
      imagePullSecrets:
      - name: cloud.docker.com-pull
      volumes:
      - name: config
        secret:
          defaultMode: 420
          items:
          - key: www.sh
            mode: 256
            path: env.sh
          secretName: env-secret

Docker 映像基于 node.js server image

/healthz 是网络服务器中的一个文件,它返回ok 我认为活性探针会确保服务器在切换到新版本之前已启动并准备就绪。

提前致谢!

【问题讨论】:

    标签: kubernetes kubernetes-health-check


    【解决方案1】:

    Pod lifecycle 中定义为:

    初始延迟前Liveness的默认状态是Success。

    为确保您不会遇到问题,最好也为您的 Pod 配置 ReadinessProbe,并考虑为您的部署配置 .spec.minReadySeconds

    您可以在Deployment 文档中找到详细信息

    【讨论】:

      猜你喜欢
      • 2020-05-04
      • 1970-01-01
      • 2019-07-08
      • 2019-01-05
      • 1970-01-01
      • 1970-01-01
      • 2021-06-18
      • 1970-01-01
      • 2017-01-13
      相关资源
      最近更新 更多