2

我正在尝试在 google kubernetes 引擎上部署 keycloak 并使用 ingress.class 类型的nginx使其工作,如下所示

kubernetes.io/ingress.class:nginx

完整清单可以在这里找到 https://github.com/vsomasvr/keycloak-gke/blob/master/keycloak-gke-ingress/ingress.yaml

但是,我的意图是使用 ingress.class 类型“gce 。为此,我从以下更改了入口注释

  annotations:
    ingress.kubernetes.io/ssl-redirect: "true"
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"

到以下

kubernetes.io/ingress.allow-http: "false"
annotations: kubernetes.io/ingress.class: gce

在上述更改之后,我一直收到一条消息,指出入口的后端不健康(0/3)。我想知道当“ nginx ”可以毫无问题地运行时“ gce ”需要哪些其他更改。

我确保它不是防火墙问题,因为所有应用程序使用的端口都允许使用,我还设置了livenessProbereadinessProbe设置。

这个配置还有什么遗漏的吗?

我将所有清单文件放在这里 https://github.com/vsomasvr/keycloak-gke/tree/master/keycloak-gke-ingress

任何帮助表示赞赏

编辑

我已经添加了注释

kubernetes.io/ingress.allow-http: "false"

nginx入口,经过测试并确保它不会引起任何冲突。该应用程序运行没有问题。

另一方面,即使我删除了上述注释, gce入口也具有相同的行为

4

1 回答 1

0

您的服务似乎配置为使用 HTTP 流量,这意味着负载均衡器的运行状况检查也将使用 HTTP 流量(端口 80),但您正在使用禁用 HTTP 的注释

kubernetes.io/ingress.allow-http:“假”

于 2018-10-19T18:54:03.977 回答