负载平衡器未在Azure AKS引擎上获得公共IP

时间:2019-03-05 07:28:29

标签: azure kubernetes azure-kubernetes azure-aks

我已经使用现有VNET上的AKS引擎在Azure上部署了群集。我的群组对资源拥有Owener权限。现在我所有的负载平衡器服务都没有获得公共IP,它永远处于pending状态。

kubectl describe svc zevac-frontend-lb
Name:                     zevac-frontend-lb
Namespace:                default
Labels:                   <none>
Annotations:              kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"name":"zevac-frontend-lb","namespace":"default"},"spec":{"loadBalancerIP":"52.172.46....
Selector:                 app=zevac-frontend
Type:                     LoadBalancer
IP:                       10.0.245.52
IP:                       52.172.46.210
Port:                     <unset>  80/TCP
TargetPort:               80/TCP
NodePort:                 <unset>  31723/TCP
Endpoints:                10.0.3.11:80,10.0.3.45:80
Session Affinity:         None
External Traffic Policy:  Cluster
Events:
  Type     Reason                      Age                From                Message
  ----     ------                      ----               ----                -------
  Warning  CreatingLoadBalancerFailed  6m (x9 over 35m)   service-controller  Error creating load balancer (will retry): failed to ensure load balancer for service default/zevac-frontend-lb: timed out waiting for the condition
  Normal   EnsuringLoadBalancer        1m (x10 over 37m)  service-controller  Ensuring load balancer

2 个答案:

答案 0 :(得分:2)

在您的问题中,我认为有两个可能的原因。一种是您的公共IP与AKS群集不在同一区域。我认为这是最可能的原因。另一个是您的AKS集群无权执行该操作。

使用静态公共IP时,还有两种方法。一个在节点组中,另一个在节点组外。当您在节点组之外使用公共IP时,您的AKS群集至少应具有该公共IP所在的组的“网络贡献者”权限。参见Use a static IP address outside of the node resource group

答案 1 :(得分:1)

回答我自己的问题,以便将来有人可以节省一些时间。 aks-engine有一个众所周知的错误。为了解决使用Azure aks或管理门户网站上的cli服务的问题,该服务当前支持在现有VNET上部署群集。