AKS 负载均衡器静态 IP 分配不起作用(保持挂起)
AKS load balancer static IP assignment not working (stays pending)
我在我的 AKS 集群上有一个正常工作的设置,我按照 MS 文档找到 use a static IP to create an ingress controller。我现在只是尝试在同一集群的单独命名空间中创建类似的设置,但新的负载平衡器 EXTERNAL-IP
仍然是 <pending>
.
当我检查服务时,我看到:
Warning CreatingLoadBalancerFailed 3m29s (x16 over 53m) service-controller Error creating load balancer (will retry): failed to ensure load balancer for service ingress-dev/dev-ingress-nginx-ingress-controller: timed out waiting for the condition
我看到了 但我的所有资源(静态 IP 地址)都在与集群相同的资源组和区域中。 运行 的 LB 的现有静态 IP 也已分配给相同的 RG 和集群。
我相当确定这是由于服务主体配置错误造成的,您可以这样做:kubectl get events --all-namespaces
看看您是否能找到与入口服务相关的任何内容,这些内容会抱怨 auth\wrong 凭据?或者,您可以 reset service principal credentials 在 AKS 中并确保您以这种方式获得正确的凭据。
您还需要确保的一件事是您使用的服务主体有权访问负载均衡器所在的资源组。这应该在您创建集群时默认发生,但有人可能已经剥夺了这些权限
以防评论被删除:将 AKS 更新到更新版本解决了这个问题
使用“--sku Standard”创建静态 IP
STATICIP=$(az network public-ip create --resource-group <MC_your-RG> --name Your-public-ip-name --sku Standard --allocation-method static --query publicIp.ipAddress -o tsv)
现在:
helm install stable/nginx-ingress --name
--namespace
--set rbac.create=true
--set controller.replicaCount=2
--set controller.stats.enabled=true
--set controller.metrics.enabled=true
--set controller.nodeSelector."beta.kubernetes.io/os"=linux
--set defaultBackend.nodeSelector."beta.kubernetes.io/os"=linux
--set controller.service.externalTrafficPolicy="Local"
--set controller.service.loadBalancerIP=${STATICIP}
创建 kubernetes 集群时,Azure 会自动创建另一个资源组来容纳实际为集群提供动力的 VM。
我注意到,如果在同一个资源组(作为 VM)中创建静态 IP,它就会开始工作。
我在我的 AKS 集群上有一个正常工作的设置,我按照 MS 文档找到 use a static IP to create an ingress controller。我现在只是尝试在同一集群的单独命名空间中创建类似的设置,但新的负载平衡器 EXTERNAL-IP
仍然是 <pending>
.
当我检查服务时,我看到:
Warning CreatingLoadBalancerFailed 3m29s (x16 over 53m) service-controller Error creating load balancer (will retry): failed to ensure load balancer for service ingress-dev/dev-ingress-nginx-ingress-controller: timed out waiting for the condition
我看到了
我相当确定这是由于服务主体配置错误造成的,您可以这样做:kubectl get events --all-namespaces
看看您是否能找到与入口服务相关的任何内容,这些内容会抱怨 auth\wrong 凭据?或者,您可以 reset service principal credentials 在 AKS 中并确保您以这种方式获得正确的凭据。
您还需要确保的一件事是您使用的服务主体有权访问负载均衡器所在的资源组。这应该在您创建集群时默认发生,但有人可能已经剥夺了这些权限
以防评论被删除:将 AKS 更新到更新版本解决了这个问题
使用“--sku Standard”创建静态 IP
STATICIP=$(az network public-ip create --resource-group <MC_your-RG> --name Your-public-ip-name --sku Standard --allocation-method static --query publicIp.ipAddress -o tsv)
现在:
helm install stable/nginx-ingress --name
--namespace
--set rbac.create=true
--set controller.replicaCount=2
--set controller.stats.enabled=true
--set controller.metrics.enabled=true
--set controller.nodeSelector."beta.kubernetes.io/os"=linux
--set defaultBackend.nodeSelector."beta.kubernetes.io/os"=linux
--set controller.service.externalTrafficPolicy="Local"
--set controller.service.loadBalancerIP=${STATICIP}
创建 kubernetes 集群时,Azure 会自动创建另一个资源组来容纳实际为集群提供动力的 VM。
我注意到,如果在同一个资源组(作为 VM)中创建静态 IP,它就会开始工作。