使用入口终结点的专用 IP 进行内部路由
此功能通过专用 IP 在 Virtual Network
中公开入口终结点。
先决条件
使用专用 IP 配置的应用程序网关
可通过两种方法配置控制器以使用入口专用 IP
分配到特定入口
若要通过专用 IP 公开特定入口,请在入口中使用注释 appgw.ingress.kubernetes.io/use-private-ip
。
使用情况
appgw.ingress.kubernetes.io/use-private-ip: "true"
对于没有专用 IP 的应用程序网关,将忽略使用 appgw.ingress.kubernetes.io/use-private-ip: "true"
进行注释的入口。 这会在入口事件和 AGIC Pod 日志中指示。
错误,如入口事件中指示的那样
Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning NoPrivateIP 2m (x17 over 2m) azure/application-gateway, prod-ingress-azure-5c9b6fcd4-bctcb Ingress default/hello-world-ingress requires Application Gateway applicationgateway3026 has a private IP address
错误,如 AGIC 日志中指示的那样
E0730 18:57:37.914749 1 prune.go:65] Ingress default/hello-world-ingress requires Application Gateway applicationgateway3026 has a private IP address
全局分配
如果要求是限制所有入口通过专用 IP 进行公开,请在 helm
配置中使用 appgw.usePrivateIP: true
。
使用情况
appgw:
subscriptionId: <subscriptionId>
resourceGroup: <resourceGroupName>
name: <applicationGatewayName>
usePrivateIP: true
在应用程序网关上配置前端侦听器时,这会使得入口控制器筛选专用 IP 的 IP 地址配置。
如果 usePrivateIP: true
且没有分配任何专用 IP,则 AGIC 可能会死机并崩溃。
注意
应用程序网关 v2 SKU 要求公共 IP。 如果要求应用程序网关为专用网关,请附加 Network Security Group
到应用程序网关的子网来限制流量。