如何在 aks 中为大使服务设置静态 public ip?

How to set static public ip for ambassador service in aks?

遇到以下问题:
- 我的设置是 aks in azure。里面几乎没有服务,ambassador 在他们面前工作。
- 我知道如何为 "regular" 负载均衡器 (https://docs.microsoft.com/en-us/azure/aks/static-ip)
设置 public 静态 IP - 当我试图在我的大使 yaml 中做同样的事情时:

apiVersion: v1
kind: Service
(..)
spec:
  type: LoadBalancer
  loadBalancerIP: XX.XXX.XX.XXX // <= line from microsoft documentation
  ports:
  - name: ambassador
    port: 80
    targetPort: 8080
  - name: ambassador-secure
    port: 443
    targetPort: 443
  selector:
    service: my-selector

传递的静态 IP 似乎被忽略了,每次都会创建新的。 任何想法我做错了什么? 提前致谢。

资源组位置似乎是这里的根本原因。如果您没有将 public IP 放入 AKS 创建的 MC_xxxx 资源组中,Kubernetes 的控制器管理器将无法找到它,因为它是它所查找的默认资源组.除非使用正确的服务注释在您的服务清单中指定了一个。

service.beta.kubernetes.io/azure-load-balancer-resource-group: myResourceGroup

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-resource-group: myResourceGroup
  name: azure-load-balancer
spec:
  loadBalancerIP: 40.121.183.52
  type: LoadBalancer
  ports:
  - port: 80
  selector:
    app: azure-load-balancer