在kubernetes上部署keycloak(GKE):入口类-Nginx VS gce

时间:2018-10-19 18:27:20

标签: kubernetes keycloak google-kubernetes-engine kubernetes-ingress nginx-ingress

我正在尝试在Google kubernetes引擎上部署密钥斗篷,并使用以下ingress.class类型 nginx 使它运行

  

kubernetes.io/ingress.class:nginx

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

但是,我的目的是使用ingress.class类型“ gce ”。为此,我从以下

更改了Ingress批注
  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 ”还需要进行哪些其他更改。

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

>

还有其他缺少此配置的信息吗?

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

感谢您的帮助

编辑

我添加了注释

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

进入 nginx 入口,经过测试并确保不会引起任何冲突。该应用程序正常运行。

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

1 个答案:

答案 0 :(得分:0)

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

  

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