Joh*_*ohn 8 google-cloud-platform kubernetes google-kubernetes-engine kubernetes-ingress
我一直在使用Google Cloud入口.还部署了nginx-ingress并尝试在GKE中使用static-ip地址进行设置.
谢谢
Ber*_*enz 10
如果您使用 helm 部署 nginx-ingress。
首先创建一个静态IP地址。在 google 中,网络负载均衡器 (NLB) 仅支持区域静态 IP:
gcloud compute addresses create my-static-ip-address --region us-east4
Run Code Online (Sandbox Code Playgroud)
然后以ip地址作为loadBalancerIP参数安装nginx-helm
helm install --name nginx-ingress stable/nginx-ingress --namespace my-namespace --set controller.service.loadBalancerIP=35.186.172.1
Run Code Online (Sandbox Code Playgroud)
正如 Radek 'Goblin' Pieczonka 已经指出的那样,这是可能的。我只是想将您链接到有关此事的官方文档:
如果你在一个集群中有多个 Ingress 控制器,你可以通过指定 ingress.class 注释来选择一个,例如创建一个带有类似注释的 Ingress
metadata:
name: foo
annotations:
kubernetes.io/ingress.class: "gce"
Run Code Online (Sandbox Code Playgroud)
将针对 GCE 控制器,强制 nginx 控制器忽略它,而像这样的注释
metadata:
name: foo
annotations:
kubernetes.io/ingress.class: "nginx"
Run Code Online (Sandbox Code Playgroud)
由于您正在使用 Google Cloud Platform,因此我可以为您提供有关在 Google 中实施 Kubernetes 的更多详细信息。
考虑一下:
默认情况下,Kubernetes Engine 为通过 Ingress 公开的 HTTP 应用程序分配临时外部 IP 地址。
但是,当然您可以使用静态 IP 寻址您的入口资源, 有一个官方的分步指南向您展示如何使用入口资源创建 HTTP 负载平衡 Ingress 并将静态 IP 链接到它或如何将已在使用中的“临时”IP 提升为静态。
尝试通过它,如果您遇到一些问题,请更新问题并提问!
在 kubernetes 中运行多个入口控制器是完全可以的,但它们需要知道它们应该实例化哪些入口对象。这是通过特殊注释完成的,例如:
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx"
Run Code Online (Sandbox Code Playgroud)
这表明该入口预计由且仅由 nginx 入口控制器提供。
至于IP,Some cloud providers allow the loadBalancerIP to be specified.通过它你可以控制服务的公共IP。
| 归档时间: |
|
| 查看次数: |
4257 次 |
| 最近记录: |