我已经使用现有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
答案 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上部署群集。