noa*_*amt 4 google-cloud-platform google-kubernetes-engine kubernetes-ingress
Ingress文档指出:
没有规则的 Ingress 将所有流量发送到单个默认后端。默认后端通常是 Ingress 控制器的配置选项,并且未在您的 Ingress 资源中指定。
如果没有主机或路径与 Ingress 对象中的 HTTP 请求匹配,则流量将路由到您的默认后端。
我管理的所有 GKE Ingress 对象都指向特定后端,例如:
spec:
rules:
- host: my.host.com
http:
paths:
- path: /*
backend:
serviceName: the service
servicePort: 1337
Run Code Online (Sandbox Code Playgroud)
是否可以在没有默认后端的情况下创建这些 Ingress 对象?如果是这样,会产生什么后果?
是否可以在没有默认后端的情况下创建这些 Ingress 对象?如果是这样,会产生什么后果?
简短的回答是:不,如果没有“默认后端”作为最后的手段,你就无法创建 Ingress。默认后端是 kubernetes 默认行为的一部分。
此线程中解释了该行为。
Ingress 定义中没有匹配后端的所有请求都将转发到“默认后端”(“请求 - 响应”逻辑,无孤立请求)。
我们可以从以下内容看出:cluster/addons/cluster-loadbalancing/glbc/default-svc-controller.yaml
说:
# Any image is permissible as long as:
# 1. It serves a 404 page at /
# 2. It serves 200 on a /healthz endpoint
image: k8s.gcr.io/ingress-gce-404-server-with-metrics-amd64:v1.6.0
Run Code Online (Sandbox Code Playgroud)
这就是为什么您可以为部署放置自己的自定义映像kube-system/l7-default-backend
。
您可以在以下位置找到更多详细信息:
文件。
希望这些信息能够帮助您了解为什么会有 adefault backend
以及它是如何工作的。
归档时间: |
|
查看次数: |
3240 次 |
最近记录: |