Google Cloud IN_USE_ADDRESSES-Kontingent überschritten.

19

In den letzten drei Stunden habe ich nach Möglichkeiten gesucht, die Google Compute Engine-API freizugeben. Verwendete IP-Adressen, da 8/8 verwendet wird. Ich habe gegoogelt, die Handbücher gelesen, aber es gibt keine Möglichkeit, sie irgendwo in der Konsole freizugeben. Ich versuche, eine Rails-App einzurichten. Beim Kompilieren blieb es mit Fehlern stecken, da ich nicht den richtigen Socket für DB angegeben habe (was hier nicht wirklich wichtig ist). Wenn ich nicht weiterkomme, drücke ich in meinem Terminal die Tastenkombination Strg + C und nehme an, dass dies das Problem ist. - Ich bin brandneu in Google Cloud, daher kann ich nur annehmen.

Die Fehlermeldung:

ERROR: (gcloud.app.deploy) Error Response: [400] The following quotas were exceeded: IN_USE_ADDRESSES (quota: 8, used: 8 + needed: 2).
https://appengine.googleapis.com/v1/apps/workepics/services/default/versions?alt=json

Hier in der Konsole visualisiert: Bildbeschreibung hier eingeben

Wenn ich in der Konsole auf Compute Engines klicke, werde ich nur gefragt, ob ich eine erstellen möchte. Es gibt keine andere Möglichkeit.

Jede Hilfe wäre dankbar! Vielen Dank.

Georg Keferböck
quelle
cloud.google.com/compute/quotas "Wenn Sie eine erhebliche Zunahme der Nutzung erwarten, können Sie proaktiv Quotenanpassungen auf der Seite " Quoten "in der Cloud Platform Console anfordern."
ceejayoz
@ceejayoz Ich möchte keine Erhöhung der Quoten. Grundsätzlich möchte ich nur einen Weg finden, um die aktuell verwendeten IP-Adressen freizugeben. Ich habe meine Anwendung einige Male kompiliert und es wird angezeigt, dass bei jedem Kompilieren eine neue IP-Adresse hinzugefügt wurde.
Georg Keferböck
1
Siehe dann stackoverflow.com/questions/37381694/… . Ihre alten Bereitstellungen werden noch ausgeführt (und kosten Sie Geld). Sie werden sie beenden wollen.
Ceejayoz
1
Lebensretter! @ceejayoz
Georg Keferböck
1
@ceejayoz können Sie bitte diese beiden Links zu einer Antwort hinzufügen, damit ich Ihnen die folgenden Punkte geben kann: cloud.google.com/sdk/gcloud/reference/app/versions/list cloud.google.com/sdk/gcloud/reference/app / versions / stop Über diese Links erfahren Sie, wie Sie Versionen stoppen und löschen. Ich war mit dem Konzept nicht vertraut und wusste es daher nicht. Vielleicht befindet sich jemand anderes in einer ähnlichen Situation. Danke
Georg Keferböck

Antworten:

9

Ich kann diese Antwort nicht in vollem Umfang würdigen - ich habe mich nur an diese erinnert -, aber bei einer Bereitstellung in der Google-Cloud bleibt die alte Bereitstellung auf unbestimmte Zeit bestehen (und verwendet daher eine IP-Adresse und Ihr hart verdientes Geld).

Bereitstellungen können mit ausgelöst werden --stop-previous-version, um dieses Verhalten zu verhindern, und Sie können list and stop verwenden , um die alten Bereitstellungen zu suchen und zu entfernen, damit sie keine Ressourcen mehr verwenden.

ceejayoz
quelle
1
gcloud app versions list | grep -v SERVING | awk '{print $2}' | tail -n +1 | xargs -I {} gcloud app versions delete {}
Lief diesen Einzeiler ein,
4

Ich habe nicht einmal eine App implementiert, sondern nur einen Kubernetes-Cluster. Keiner der Vorschläge hat mir geholfen. Ich habe den Cluster immer wieder gelöscht und neu erstellt.

Wir haben diese Seite gefunden, auf der die verwendeten externen IP-Adressen aufgelistet sind. Dies scheint die Ursache des Problems zu sein. Sollte funktionieren, egal aus welchem ​​Grund Ihre IP-Adressen aufgebraucht sind: https://console.cloud.google.com/networking/addresses/list

Für meinen Fall, dass Load Balancer das Problem sind: Ich habe alle meine Cluster gelöscht und noch verwendete Adressen gesehen. Dann habe ich diese Seite gefunden, auf der ich die IP-Zuordnungen des Lastenausgleichs löschen kann: https://console.cloud.google.com/net-services/loadbalancing/advanced/forwardingRules/list Die Cluster und Dienste wurden neu erstellt, und jetzt funktioniert alles einwandfrei.

Ich weiß nicht, warum das Löschen des Clusters die Adressen dieses Mal nicht freigegeben hat. Vielleicht, weil ich mitten in der Erstellung eines Clusters abgebrochen habe.

sudo
quelle
1
Ja! Vielen Dank - Load Balancer auch für mich. Ich war sehr nachlässig bei der Erstellung meiner Cluster / Ressourcen, also schätze ich, dass dies die Ursache war. Dies sollte die akzeptierte Antwort sein, da dies die allgemeinste Lösung ist.
Michael Hays
Wenn ich das nur reproduzieren könnte, würde ich einen Fehlerbericht einreichen, da es sich um einen Fehler handelt.
Sudo
3

Ich habe den gleichen Fehler erhalten, aber der Grund war, dass mein Build auf ein falsches Projekt zeigte (gcloud config list). Ich hatte Cloud-SQL in meinem Code konfiguriert, aber es befand sich in einem anderen Projekt als der App-Engine, die ich bereitstellen wollte. Der angezeigte Fehler war genau wie in der obigen Ausgabe erwähnt.

Neelima
quelle
0

Ich hatte das Problem mit Kubernetes, als ich einen neuen Knoten hinzufügen wollte. So gelöst:

  • kubectl get svc
  • Alte Dienste löschen mit kubectl delete svc [service-name]

Hoffe das hilft jemand anderem.

Tobias Ernst
quelle
0

Geben Sie für dieses Problem beim Erstellen der VM nicht die externe IP an.

  1. Klicken Sie auf Verwaltung, Sicherheit, Datenträger, Netzwerk, Einzelmandant
  2. Klicken Sie auf Netzwerk
  3. Klicken Sie auf Netzwerkschnittstelle
  4. Bei externer IP - keine angeben

Das hat bei mir funktioniert

sahithya
quelle