Ich versuche, eine "Bereitstellung" von kubernetes über den kubectl expose
Befehl mit einer statischen IP-Adresse in Google Container Engine verfügbar zu machen .
Mit einer kurzlebigen IP funktioniert alles einwandfrei:
kubectl expose deployment my-application \
--type="LoadBalancer" --port=80 --target-port=8080
Ich benutze kubectl get services
und warte einige Minuten, um zu sehen, dass die kurzlebige IP zugewiesen wurde. Ich gebe die IP in meinen Browser ein und sehe die Anwendung, dh alles funktioniert.
Wenn ich jedoch Folgendes mache:
Erstellen Sie eine statische IP-Adresse über die gcloud-Weboberfläche (Netzwerk -> Externe IP-Adressen -> Statische IP-Adresse reservieren).
Erstellen Sie den Dienst mit demselben Befehl wie oben neu, jedoch mit der zusätzlichen
--load-balancer-ip
Optionkubectl expose deployment my-application \ --type="LoadBalancer" --port=80 --target-port=8080 \ --load-balancer-ip='1.2.3.4' # IP as assigned by web interface above
Der Befehl ist erfolgreich, aber die Anwendung ist unter dieser IP-Adresse nicht erreichbar, und wenn ich den folgenden Befehl verwende:
$ kubectl get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
endpoints 10.119.247.39 <pending> 80/TCP 23m
kubernetes 10.119.240.1 <none> 443/TCP 1d
Ich sehe, dass das EXTERNAL-IP
noch ist, <pending>
obwohl ich bisher 23 Minuten gewartet habe.
Was mache ich falsch?
quelle