在 GKE 上使用 Ingress 构建的 HTTP-LoadBalancer 在 http-allowance 和 NOT http-allowance 之间不稳定
HTTP-LoadBalancer constructed with Ingress on GKE is unstable between http-allowance and NOT http-allowance
我正在尝试在带有 Ingress 的 GKE 上设置不允许使用 HTTP 的 HTTPS-LB。
现在,如官方网站所述,我在私有集群上部署了一个简单的应用程序。此应用程序可以使用浏览器访问。
※http-connection 和 https-connection
然后我通过在 LB 的设置中关闭(删除)前端协议 "http" 来禁止对应用程序的 http 访问。
实际上,起初,通过浏览器的 http 连接出现错误,而不是连接错误。 5-10 分钟后,http 协议设置会自动恢复。
这是一个 yaml 文件。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-name
annotations:
# kubernetes.io/ingress.allow-http: "false"
kubernetes.io/ingress.global-static-ip-name: "ip-name"
spec:
#tls:
#This assumes tls-secret exists.
#- hosts:
# - XXXXXXXX.XXX.XXX
# secretName: ip-secret ← no use because of google-managed-ssl
rules:
- http:
paths:
# to app
- path: /*
backend:
serviceName: XXXXX-backend
servicePort: 80
# to DS Export
- path: /backend/*
backend:
serviceName: XXXXX-be-backend
servicePort: 80
这个问题是浏览器的问题吗?或 gce 实例上的 http-health-checker 等内部设置?
如果您能确认您正在学习哪个教程,我们就可以确认测试。说到这里,我认为您所看到的行为是可以预料的。
根据 GKE Ingress doc ,它指出:
"每当通过 Ingress 配置 HTTP(S) 负载平衡器时,您不得手动更改或更新 HTTP(S) 负载平衡器的配置。也就是说,您不得编辑任何负载均衡器的组件,包括目标代理、URL 映射和后端服务。您所做的任何更改都将被 GKE 覆盖。 "
您可以尝试删除入口,手动编辑您的 YAML 文件并重新创建它,看看删除 HTTP 是否有效。
我正在尝试在带有 Ingress 的 GKE 上设置不允许使用 HTTP 的 HTTPS-LB。
现在,如官方网站所述,我在私有集群上部署了一个简单的应用程序。此应用程序可以使用浏览器访问。 ※http-connection 和 https-connection
然后我通过在 LB 的设置中关闭(删除)前端协议 "http" 来禁止对应用程序的 http 访问。 实际上,起初,通过浏览器的 http 连接出现错误,而不是连接错误。 5-10 分钟后,http 协议设置会自动恢复。
这是一个 yaml 文件。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-name
annotations:
# kubernetes.io/ingress.allow-http: "false"
kubernetes.io/ingress.global-static-ip-name: "ip-name"
spec:
#tls:
#This assumes tls-secret exists.
#- hosts:
# - XXXXXXXX.XXX.XXX
# secretName: ip-secret ← no use because of google-managed-ssl
rules:
- http:
paths:
# to app
- path: /*
backend:
serviceName: XXXXX-backend
servicePort: 80
# to DS Export
- path: /backend/*
backend:
serviceName: XXXXX-be-backend
servicePort: 80
这个问题是浏览器的问题吗?或 gce 实例上的 http-health-checker 等内部设置?
如果您能确认您正在学习哪个教程,我们就可以确认测试。说到这里,我认为您所看到的行为是可以预料的。
根据 GKE Ingress doc ,它指出:
"每当通过 Ingress 配置 HTTP(S) 负载平衡器时,您不得手动更改或更新 HTTP(S) 负载平衡器的配置。也就是说,您不得编辑任何负载均衡器的组件,包括目标代理、URL 映射和后端服务。您所做的任何更改都将被 GKE 覆盖。 "
您可以尝试删除入口,手动编辑您的 YAML 文件并重新创建它,看看删除 HTTP 是否有效。