【问题标题】:Ngnix ingress controller for aks using internal loadbalancer用于使用内部负载均衡器的 aks 的 Nginx 入口控制器
【发布时间】:2021-07-25 18:48:53
【问题描述】:

显示内部负载平衡器外部 IP 处于待处理状态,有人可以帮我解决这个问题

helm install nginx-ingress ingress-nginx/ingress-nginx --namespace=ingress-private --set rbac.create=true --set controller.service.loadBalancerIP="10.0.0.0" --set controller.replicaCount=2 --set controller.nodeSelector."beta\.kubernetes\.io/os"=linux --set defaultBackend.nodeSelector."beta\.kubernetes\.io\/os"=linux --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal"="true"
NAME: nginx-ingress
LAST DEPLOYED: Mon May  3 15:39:02 2021
NAMESPACE: ingress-private
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
The ingress-nginx controller has been installed.
It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status by running 'kubectl --namespace ingress-private get services -o wide -w nginx-ingress-ingress-nginx-controller'
kubectl get svc -n ingress-private -w
NAME                                               TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)                      AGE
nginx-ingress-ingress-nginx-controller             LoadBalancer   10.0.0.0    <pending>     80:32392/TCP,443:32499/TCP   3m2s
nginx-ingress-ingress-nginx-controller-admission   ClusterIP      10.0.0.223   <none>        443/TCP                      3m2s

【问题讨论】:

    标签: docker nginx kubernetes azure-aks


    【解决方案1】:

    根据 Azure docs,您不能使用10.0.0.0 IP 地址。尝试使用其他地址。我假设您正在尝试执行此scenario。检查服务详细信息以获取任何错误信息。

    kubectl describe svc -n ingress-private nginx-ingress-ingress-nginx-controller
    

    参考:

    在这些子网中使用 IP 地址是否有任何限制?

    是的。 Azure 在每个子网中保留 5 个 IP 地址。这些是 x.x.x.0-x.x.x.3 和子网的最后一个地址。 x.x.x.1-x.x.x.3 是 在每个子网中为 Azure 服务保留。

    • x.x.x.0:网络地址
    • x.x.x.1:Azure 为默认网关保留
    • x.x.x.2、x.x.x.3:由 Azure 保留,用于将 Azure DNS IP 映射到 VNet 空间
    • x.x.x.255:网络广播地址

    【讨论】:

      【解决方案2】:

      以下是服务详情

      C:\Users\av13\Music\spoke-terraform-updated\kubernetes-nexus>kubectl describe svc -n ingress-private nginx-ingress-ingress-nginx-controller
      Name:                     nginx-ingress-ingress-nginx-controller
      Namespace:                ingress-private
      Labels:                   app.kubernetes.io/component=controller
                                app.kubernetes.io/instance=nginx-ingress
                                app.kubernetes.io/managed-by=Helm
                                app.kubernetes.io/name=ingress-nginx
                                app.kubernetes.io/version=0.46.0
                                helm.sh/chart=ingress-nginx-3.30.0
      Annotations:              meta.helm.sh/release-name: nginx-ingress
                                meta.helm.sh/release-namespace: ingress-private
                                service.beta.kubernetes.io/azure-load-balancer-internal: true
      Selector:                 app.kubernetes.io/component=controller,app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=ingress-nginx
      Type:                     LoadBalancer
      IP:                       10.0.188.67
      IP:                       10.145.72.102
      Port:                     http  80/TCP
      TargetPort:               http/TCP
      NodePort:                 http  32392/TCP
      Endpoints:                10.145.72.50:80,10.145.72.94:80
      Port:                     https  443/TCP
      TargetPort:               https/TCP
      NodePort:                 https  32499/TCP
      Endpoints:                10.145.72.50:443,10.145.72.94:443
      Session Affinity:         None
      External Traffic Policy:  Cluster
      Events:
        Type    Reason                Age                  From                Message
        ----    ------                ----                 ----                -------
        Normal  EnsuringLoadBalancer  78s (x278 over 22h)  service-controller  Ensuring load balancer
      

      外部 IP 仍处于待处理状态

      C:\Users\av13\Music\spoke-terraform-updated\kubernetes-nexus>kubectl get svc -n ingress-private -w
      NAME                                               TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)                      AGE
      nginx-ingress-ingress-nginx-controller             LoadBalancer   10.0.188.67    <pending>     80:32392/TCP,443:32499/TCP   22h
      nginx-ingress-ingress-nginx-controller-admission   ClusterIP      10.0.159.223   <none>        443/TCP                      22h
      

      【讨论】:

        猜你喜欢
        • 2019-08-05
        • 2021-05-23
        • 2020-05-18
        • 1970-01-01
        • 2021-05-21
        • 2020-05-08
        • 2021-03-29
        • 2019-06-28
        • 2022-01-03
        相关资源
        最近更新 更多