当您在 GKE 等托管 Kubernetes 集群上创建 Ingress 时,它是否会自动在 Kubernetes 中创建位于其前面的负载均衡器服务?
举例来说,如果我在 GKE 上创建一个这样的 Ingress,我是否还需要在 Kubernetes 中提供一个负载均衡器服务,以便将该 Ingress 暴露到公共互联网?或者 Ingress 会自动为我创建负载均衡器服务吗?或者,Ingress 本身甚至不创建负载均衡器 Kubernetes 服务,而直接提供 GCP 应用程序负载均衡器吗?
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: mcu-all
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: mcu.com
http:
paths:
- path: /path1
pathType: Prefix
backend:
service:
name: path1
port:
number: 8080
- path: /path2
pathType: Prefix
backend:
service:
name: path2
port:
number: 8080
根据 GKE 官方文档:
当您在资源清单中指定 kind: Ingress 时,您指示 GKE 创建 Ingress 资源。通过包含注释和 支持工作负载和服务,您可以创建自定义 Ingress 控制器。否则,GKE 会进行适当的 Google Cloud API 调用 创建外部应用程序负载均衡器