具有入口和基于路径的路由的 Azure Kubernetes 负载均衡器
Azure Kubernetes loadbalancer with Ingress and path based routing
我正在尝试使用 AKS 管理的负载均衡器创建基于基本路径的路由入口控制器。问题是弄清楚如何从负载均衡器路由到入口控制器。
这是我的入口控制器 yml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-cpr
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- http:
paths:
- path: /green/
pathType: Prefix
backend:
service:
name: nginx-green-clusterip-service
port:
number: 80
- path: /red/
pathType: Prefix
backend:
service:
name: nginx-red-clusterip-service
port:
number: 80
如你所见,ingress controller负责根据传入路径发送到合适的app。
但是如何将其连接到托管负载均衡器?
apiVersion: v1
kind: Service
metadata:
name: loadbal-service
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: ingress-cpr
我知道这行是不正确的“-app:ingress-cpr”。但是我必须怎么做才能让 LoadBalancer 转发到入口控制器?
提前致谢,
杰克.
在服务清单中,应用的选择器应指向入口的后端服务名称。在这种特殊情况下,服务清单中的 ingress-cpr
应该是两个后端之一(nginx-green-clusterip-service
或 nginx-red-clusterip-service
)。任何通过端口 80 上托管 LB 的外部 IP 的流量都应该路由到入口中定义的后端之一。
还有关于创建 basic ingress controller in AKS.
的 Microsoft 示例
我正在尝试使用 AKS 管理的负载均衡器创建基于基本路径的路由入口控制器。问题是弄清楚如何从负载均衡器路由到入口控制器。
这是我的入口控制器 yml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-cpr
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- http:
paths:
- path: /green/
pathType: Prefix
backend:
service:
name: nginx-green-clusterip-service
port:
number: 80
- path: /red/
pathType: Prefix
backend:
service:
name: nginx-red-clusterip-service
port:
number: 80
如你所见,ingress controller负责根据传入路径发送到合适的app。
但是如何将其连接到托管负载均衡器?
apiVersion: v1
kind: Service
metadata:
name: loadbal-service
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: ingress-cpr
我知道这行是不正确的“-app:ingress-cpr”。但是我必须怎么做才能让 LoadBalancer 转发到入口控制器?
提前致谢, 杰克.
在服务清单中,应用的选择器应指向入口的后端服务名称。在这种特殊情况下,服务清单中的 ingress-cpr
应该是两个后端之一(nginx-green-clusterip-service
或 nginx-red-clusterip-service
)。任何通过端口 80 上托管 LB 的外部 IP 的流量都应该路由到入口中定义的后端之一。
还有关于创建 basic ingress controller in AKS.
的 Microsoft 示例