使用静态IP部署Azure Kubernetes入口时出错

时间:2019-11-11 13:44:19

标签: azure kubernetes nginx-ingress

好人 让我们看看是否有人可以帮助我。 我已经在1.13版中配置了Azure Kubernetes(AKS) 我正在尝试使用静态IP创建一个Ingress,但这对我来说是不可能的。

我正在使用kubectl create -f static-ip-svc.yaml

#File

apiVersion: v1

kind: Service

metadata:

  name: nginx-ingress-lb

  labels:

    app.kubernetes.io/name: ingress-nginx

    app.kubernetes.io/part-of: ingress-nginx

spec:

  externalTrafficPolicy: Local

  type: LoadBalancer

  loadBalancerIP: 40.121.219.126

  ports:

  - port: 80

    name: http

    targetPort: 80

  - port: 443

    name: https

    targetPort: 443

  selector:

    # Selects nginx-ingress-controller pods

    app.kubernetes.io/name: ingress-nginx

    app.kubernetes.io/part-of: ingress-nginx

并显示错误:

  

键入原因年龄自
  信息 - - - - - - - - -   -------正常EnsuringLoadBalancer 8s(x4 over 43s)服务控制器确保负载均衡器警告   CreationLoadBalancerFailed 7s(x4 over 43s)服务控制器   创建负载均衡器时出错(将重试):无法确保负载   服务默认值/ nginx-ingress-lb的平衡器:等待超时   条件

1 个答案:

答案 0 :(得分:1)

对于您来说,要创建具有静态IP的Ingress,有两种方法可以实现它。但是首先,您需要了解Azure Kubernetes服务及其基础结构的资源组的信息。

信息为Why are two resource groups created with AKS?,它说明存在两个资源组,一个资源组用于Azure Kubernetes服务本身,另一个资源组用于其基础结构。因此,有两种方法可以使用静态IP创建Ingress。

以下两种方式:

  1. 使用在名为MC_xxxx_xxxx_location的组中创建的静态IP。

  2. 使用在另一个组中创建的静态IP,但组MC_xxxx_xxxx_location除外。这样,您需要为AKS的服务主体分配足够的权限,至少是“网络贡献者”。

您将获得有关“与Azure Kubernetes服务(AKS)负载平衡器一起使用静态公共IP地址” here的更多详细信息。我认为您使用第二种方法,但是您没有分配足够的权限,因此您收到了错误消息。检查步骤,然后按照步骤重试。