我一直在使用Google Cloud入口 . 还部署了 nginx-ingress 并尝试在GKE中使用static-ip地址进行设置 .
nginx-ingress
我们可以在同一群集中同时使用Google Cloud ingress和nginx-ingress吗?
我们如何在静态IP中使用nginx-ingress?
谢谢
对于nginx-ingress控制器,您必须在服务上设置外部IP:
spec: loadBalancerIP: "42.42.42.42" externalTrafficPolicy: "Local"
正如拉德克'Goblin' Pieczonka已经指出你有可能这样做 . 我只是想把你链接到official documentation这个问题:
如果在单个群集中有多个Ingress控制器,则可以通过指定ingress.class注释来选择一个,例如创建带注释的Ingress
metadata: name: foo annotations: kubernetes.io/ingress.class: "gce"
将瞄准GCE控制器,强制nginx控制器忽略它,而注释就像
metadata: name: foo annotations: kubernetes.io/ingress.class: "nginx"
由于您正在使用Google Cloud 端平台,因此我可以为您提供有关Google中Kubernetes实施的更多详细信息 .
考虑一下:
默认情况下,Kubernetes Engine为通过Ingress公开的HTTP应用程序分配短暂的外部IP地址 .
当然,您可以使用为您的入口资源寻址的静态IP,there is an official step to step guide向您展示如何使用Ingress创建HTTP负载 balancer ,使用入口资源并将其链接到静态IP或如何提升已使用的IP "ephemeral"是静止的 .
尝试通过它,如果你遇到一些问题,请更新问题并询问!
在kubernetes中运行多个入口控制器是完全没问题的,但是他们需要知道它们应该实例化哪些Ingress对象 . 这是通过特殊注释完成的,例如:
kind: Ingress metadata: annotations: kubernetes.io/ingress.class: "nginx"
这表明这个入口是由nginx入口控制器提供的,并且仅由nginx入口控制器提供 .
至于IP, Some cloud providers allow the loadBalancerIP to be specified. 用这个可以控制服务的公共IP .
Some cloud providers allow the loadBalancerIP to be specified.
3 回答
对于nginx-ingress控制器,您必须在服务上设置外部IP:
第一个问题
正如拉德克'Goblin' Pieczonka已经指出你有可能这样做 . 我只是想把你链接到official documentation这个问题:
第二个问题
由于您正在使用Google Cloud 端平台,因此我可以为您提供有关Google中Kubernetes实施的更多详细信息 .
考虑一下:
当然,您可以使用为您的入口资源寻址的静态IP,there is an official step to step guide向您展示如何使用Ingress创建HTTP负载 balancer ,使用入口资源并将其链接到静态IP或如何提升已使用的IP "ephemeral"是静止的 .
尝试通过它,如果你遇到一些问题,请更新问题并询问!
在kubernetes中运行多个入口控制器是完全没问题的,但是他们需要知道它们应该实例化哪些Ingress对象 . 这是通过特殊注释完成的,例如:
这表明这个入口是由nginx入口控制器提供的,并且仅由nginx入口控制器提供 .
至于IP,
Some cloud providers allow the loadBalancerIP to be specified.
用这个可以控制服务的公共IP .