Ich verwende Kubernetes v1.2.2 auf docker-machine und möchte eine Verbindung zu einem Container mit mehreren Containern aus einem anderen Container mit einheitlichem Container herstellen, der auf demselben Knoten ausgeführt wird.Zugriff auf Kubernetes-Container mit mehreren Containern über ClusterIP nicht möglich
Jeder Pod hat einen Dienst, der einen ClusterIP bereitstellt. Ich kann auf den Single-Container-Pod (Postgres-Service) vom Multi-Container-Pod (postgres-bw-service) über den ClusterIP des entsprechenden Dienstes zugreifen, aber nicht umgekehrt. Ich überprüfte die kube-Proxy-Logs und festgestellt, dass keine Service-Endpunkte für den Dienst meines Multi-Container pod festgelegt sind:
I0408 16:20:06.693273 1 iptables.go:177] Could not connect to D-Bus system bus: dial unix /var/run/dbus/system_bus_socket: no such file or directory
E0408 16:20:06.703401 1 server.go:340] Can't get Node "default", assuming iptables proxy: Get http://127.0.0.1:8080/api/v1/nodes/default: dial tcp 127.0.0.1:8080: connection refused
I0408 16:20:06.711666 1 server.go:200] Using iptables Proxier.
I0408 16:20:06.712420 1 server.go:213] Tearing down userspace rules.
I0408 16:20:06.822631 1 conntrack.go:36] Setting nf_conntrack_max to 262144
I0408 16:20:06.822833 1 conntrack.go:41] Setting conntrack hashsize to 65536
I0408 16:20:06.823646 1 conntrack.go:46] Setting nf_conntrack_tcp_timeout_established to 86400
E0408 16:20:06.826470 1 event.go:202] Unable to write event: 'Post http://127.0.0.1:8080/api/v1/namespaces/default/events: dial tcp 127.0.0.1:8080: connection refused' (may retry after sleeping)
E0408 16:20:08.627546 1 event.go:202] Unable to write event: 'Post http://127.0.0.1:8080/api/v1/namespaces/default/events: dial tcp 127.0.0.1:8080: connection refused' (may retry after sleeping)
E0408 16:20:18.629129 1 event.go:202] Unable to write event: 'Post http://127.0.0.1:8080/api/v1/namespaces/default/events: dial tcp 127.0.0.1:8080: connection refused' (may retry after sleeping)
I0408 16:20:20.925349 1 proxier.go:484] Setting endpoints for "default/kubernetes:https" to [10.0.2.15:6443]
I0408 16:20:20.925592 1 proxier.go:484] Setting endpoints for "default/postgres-service:postgres-tcp" to [172.17.0.3:5432]
I0408 16:20:20.925841 1 proxier.go:565] Not syncing iptables until Services and Endpoints have been received from master
I0408 16:20:20.931213 1 proxier.go:421] Adding new service "default/kubernetes:https" at 10.0.0.1:443/TCP
I0408 16:20:20.931901 1 proxier.go:421] Adding new service "default/postgres-bw-service:postgres" at 10.0.0.139:5432/TCP
I0408 16:20:20.932084 1 proxier.go:421] Adding new service "default/postgres-bw-service:kafka" at 10.0.0.139:9092/TCP
I0408 16:20:20.932203 1 proxier.go:421] Adding new service "default/postgres-bw-service:zookeeper" at 10.0.0.139:2181/TCP
I0408 16:20:20.932331 1 proxier.go:421] Adding new service "default/postgres-service:postgres-tcp" at 10.0.0.241:5432/TCP
I0408 16:20:22.860305 1 proxier.go:494] Removing endpoints for "default/postgres-service:postgres-tcp"
I0408 16:20:26.582664 1 proxier.go:484] Setting endpoints for "default/postgres-service:postgres-tcp" to [172.17.0.2:5432]
Hinweis des Protokolleintrag Setting endpoints for "default/postgres-service:postgres-tcp" to [172.17.0.2:5432]
aber es gibt keinen ähnlichen Eintrag für den Postgres-bw-Service . Ich nehme an, dass dies der Grund ist, warum ich nicht auf den Multi-Container-Pod zugreifen kann, aber ich weiß nicht, was das verursacht.
Eine seltsame Sache: Ich kann nicht über den ClusterIP eines eigenen Dienstes auf einen Pod zugreifen, dies funktioniert weder für den Multi-Container-Pod noch für den Single-Container-Pod.
Jede Hilfe willkommen
EDIT
kubectl get ep
gibt mir
kubectl get ep postgres-service
NAME ENDPOINTS AGE
postgres-service 172.17.0.2:5432 17h
kubectl get ep postgres-bw-service
NAME ENDPOINTS AGE
postgres-bw-service <none> 17h
Können Sie die Ausgabe von 'kubectl erhalten ep postgres-service'? Ich vermute, dass es ein Problem mit der Servicekonfiguration oder mit den Pods selbst gibt. –
@VishnuKannan Ich habe meine Frage entsprechend bearbeitet –