Как я могу создать балансировщик нагрузки Kubernetes с эфемерным IP в GKE? - PullRequest
0 голосов
/ 19 ноября 2018

Как я могу настроить LoadBalancer для получения эфемерного, а не статического IP-адреса?

Мне это нужно, поэтому мне не нужно ждать, пока Google увеличит квоту с 1 IP-адреса ... (Этобыл долгий день ...)

  Normal   EnsuringLoadBalancer        3m (x7 over 8m)  service-controller  Ensuring load balancer
  Warning  CreatingLoadBalancerFailed  3m (x7 over 8m)  service-controller  Error creating load balancer (will retry): failed to ensure load balancer for service default/subzero-react: failed to ensure a static IP for load balancer (*****************(default/subzero-react)): error creating gce static IP address: googleapi: Error 403: Quota 'STATIC_ADDRESSES' exceeded. Limit: 1.0 in region us-central1., quotaExceeded

После удаления поля loadBalancerIp и повторного создания службы, он все еще остается в ожидании.

Это вывод kubectl get service ****** -o yaml:

kubectl get service **** -o yaml
apiVersion: v1
kind: Service
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app":"api"},"name":"subzero-react","namespace":"default"},"spec":{"ports":[{"name":"http","port":80}],"selector":{"app":"initial-pp3subzero"},"type":"LoadBalancer"}}
  creationTimestamp: 2018-11-19T18:04:24Z
  labels:
    app: api
  name: *****************
  namespace: default
  resourceVersion: "584211"
  selfLink: /api/v1/namespaces/default/services/**********
  uid: 8c140d40-ec25-11e8-b7b3-42010a8000c2
spec:
  clusterIP: 10.7.242.176
  externalTrafficPolicy: Cluster
  ports:
  - name: http
    nodePort: 31853
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: ******************
  sessionAffinity: None
  type: LoadBalancer
status:
  loadBalancer: {}

1 Ответ

0 голосов
/ 20 ноября 2018

Чтобы не назначать статический IP-адрес для балансировщика нагрузки GCP с Kubernetes (поведение по умолчанию), вам, как правило, не нужно ничего указывать в спецификации сервиса loadBalancerIP, как описано здесь и здесь .

Вы можете удалить свой сервис и воссоздать его без loadBalancerIP, или вы можете установить его:

$ kubectl patch service <service-name> -p '{"spec": { "loadBalancerIP": null }}'
...