【问题标题】:kubernetes on google failed to create load balancer ip staticgoogle 上的 kubernetes 无法创建负载均衡器 ip static
【发布时间】:2017-08-11 04:31:13
【问题描述】:

虽然我保留了一个静态 IP,但我收到了以下警告,但没有创建负载均衡器:

> kubectl describe svc --namespace=api-1dt-dc
  FirstSeen LastSeen    Count   From            SubObjectPath   Type        Reason              Message
  --------- --------    -----   ----            -------------   --------    ------              -------
  48m       2m      15  {service-controller }           Normal      CreatingLoadBalancer        Creating load balancer
  48m       2m      15  {service-controller }           Warning     CreatingLoadBalancerFailed  Error creating load balancer (will retry): Failed to create load balancer for service api-1dt-dc/review-k8s-4yl6zk: requested ip 35.186.202.220 is neither static nor assigned to LB ad3c982840d0311e7b45942010a84004(api-1dt-dc/review-k8s-4yl6zk): <nil>

【问题讨论】:

    标签: kubernetes load-balancing google-kubernetes-engine static-ip-address


    【解决方案1】:

    正如Thomas Parquier所说,这可能与不是区域ip有关。

    以该服务为例:

    apiVersion: v1
    kind: Service
    metadata:
      name: my-service-name
      annotations:
    spec:
      selector:
        app: deployment-name
      clusterIP: 10.0.5.890
      externalTrafficPolicy: Cluster
      ports:
        - name: https
          port: 443
          protocol: TCP
          targetPort: 443
      sessionAffinity: None
      type: LoadBalancer
      loadBalancerIP: "72.229.?.?"
    

    首先删除你的服务

    kubectl delete svc my-service-name;
    

    从您的服务中删除 loadBalancerIP 行(最后一行)并应用修复:

    kubectl apply -f my-service-name.yaml
    

    然后,等待 EXTERNAL_IP ip 地址已分配给您的服务

    kubectl get svc;
    

    在谷歌控制台中将此地址标记为静态 https://console.cloud.google.com/networking/addresses/list

    最后,为你的 Service 中的 loadBalancerIP 行分配新的 ip 地址

    【讨论】:

      【解决方案2】:

      在尝试使用 LoadBalancer 公开时遇到同样的问题。

        Normal   EnsuredLoadBalancer         2m (x2 over 1h)  service-controller  Ensured load balancer
        Warning  CreatingLoadBalancerFailed  2m (x2 over 1h)  service-controller  Error creating load balancer (will retry): not persisting update to service 'default/cb-gke-demo-ui' that has been changed since we received it: Operation cannot be fulfilled on services "cb-gke-demo-ui": the object has been modified; please apply your changes to the latest version and try again
      

      不确定如何解决? GKE k8s 集群跨 AZz 部署。

      【讨论】:

        【解决方案3】:

        好的,它似乎只适用于区域 IP...

        【讨论】:

        • 这种行为和原因是否记录在某处?
        • 您是否能够弄清楚如何让它与全球 IP 一起使用?我遇到了同样的错误......
        • 事实证明谷歌确实只支持网络 LBs (NLBS) 的区域静态 IP 地址,如此处所述cloud.google.com/kubernetes-engine/docs/tutorials/…
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-06-02
        • 2020-01-30
        • 1970-01-01
        • 2019-01-01
        • 2023-02-23
        • 1970-01-01
        • 2020-07-25
        相关资源
        最近更新 更多