2016-05-23 6 views
2

Ich befolge die Anleitung unter http://kubernetes.io/docs/getting-started-guides/ubuntu/, um ein Kubernetes-Cluster zu erstellen. Sobald der Cluster aktiv ist, kann ich mithilfe von kubectl Pods und Dienste erstellen. Grundsätzlich gehen Sie wie folgtkubernetes: ein Service ist nicht zugänglich außerhalb des Hosts

kubectl run nginx --image=nginx --port=80 
kubectl expose deployment/nginx 

Ich sehe einen pod und Dienst ausgeführt

# kubectl get services 
NAME   CLUSTER-IP  EXTERNAL-IP PORT(S) AGE 
kubernetes 192.168.3.1  <none>  443/TCP 2d 
nginx  192.168.3.208 <none>  80/TCP 2d 

Wenn ich versuche, den Dienst aus der Maschine zuzugreifen, in dem die Kapsel läuft, komme ich zurück, um die nginx helloworld-Seite. Aber wenn ich eine andere Maschine im kubernetes-Cluster versuche, bekomme ich eine Zeitüberschreitung.

Ich dachte, alle Dienste sind überall im Cluster zugänglich. Warum konnte es nicht so funktionieren?

Danke

Antwort

0

Ja, Dienste sollten überall im Cluster zugänglich sein. Ist Ihre "andere Maschine" in der Ausgabe von kubectl get nodes aufgeführt? Ist der Knoten Ready? Möglicherweise wurde die Maschine nicht richtig konfiguriert.

0

fand meinen Fehler, indem es mit einer anderen Installation zu vergleichen, wo es funktionierte. Bei dieser Installation fehlte eine iptables-Regel, die alles, was zu den Containern ging, auf die Flanellschnittstelle zwang. So erreichte der Datenverkehr den Ziel-Host auf eth0, was dazu führte, dass das Paket verschrottet wurde. Ich weiß nicht, warum der Proxy diese Regel nicht hinzugefügt hat. Sobald ich es manuell hinzugefügt habe, hat es funktioniert.

Verwandte Themen