为 Kubernetes 入口定义后备服务

Wes*_*ick 5 kubernetes google-kubernetes-engine minikube

如果没有任何正常 Pod 处于活动/就绪状态,是否可以为 Kubernetes 入口提供后备服务?换句话说,如果所有 Pod 都崩溃或以某种方式关闭,您将如何向访问者呈现友好的“网站关闭”页面?

如果发生这种情况,现在会出现一个页面,显示“默认后端 - 404”。

我们尝试过以下方法,但没有成功:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: example-ingress
spec:
  backend:
    serviceName: website-down-service
    servicePort: 80
  rules:
    - host: example.com
      http:
        paths:
          - path: /
            backend:
              serviceName: example-service
              servicePort: 80
Run Code Online (Sandbox Code Playgroud)

作为参考,我们正在使用 Minikube 进行本地测试,并在 Google 容器引擎上部署到云端。

sli*_*tes 2

对于 Nginx Ingress Controller,有一个 flag --default-backend-service,当前指向显示“default backend - 404”消息的服务。只需将其替换为您想要的服务即可。请参阅https://github.com/kubernetes/ingress/tree/master/controllers/nginx#command-line-arguments

如果您使用另一个入口控制器,我希望它有类似的选项。