0 Pluspunkte 0 Minuspunkte

Wenn ich ein Kubernetes Service (z.B einen Pod) eingerichtet habe und mit

kubectl exec -it <pod-name> -- /bin/sh
# bzw
kubectl exec -it <pod-name> -c <container-name> -- /bin/sh

erreichen kann, wie kann ich das Service das darauf läuft erreichen. Wenn ich z.B einen Pod mit Nginx laufen habe, unter welcher IP erreiche ich den Service?

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Die Pods in Kubernetes haben standardmäßig keine feste IP Adresse, da sie dynamisch von Kubernetes verwaltet werden und erhalten eine IP Adresse im zugewiesenen Adressbereich des Clusters. Sie werden normalerweise über Dienste (Services) angesprochen, die eine stabile Netzwerkadresse bereitstellen, unabhängig davon, welche IP Adresse die einzelnen Pods haben.

Wenn Sie die Nginx Container in Ihrem Beispiel Pod erreichen möchten, müssen Sie einen Kubernetes Service erstellen, der auf den Pod verweist. Ein Service stellt eine stabile IP Adresse und Port-Weiterleitung für die Ziel Container bereit. Hier ist ein Beispiel für die Erstellung eines Services für die Nginx Container in Ihrem Pod.

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx-pod
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80

In diesem Beispiel wird ein Service mit dem Namen "nginx-service" erstellt, der auf die Nginx Container in Ihrem Pod zeigt. Der Service leitet den eingehenden Verkehr vom Port 80 auf die Ziel Ports 80 der Nginx Container weiter. Der Selector "app: nginx-pod" stellt sicher, dass der Service die Pods auswählt, die mit dem entsprechenden Label markiert sind. Nachdem der Service erstellt wurde, können Sie ihn verwenden, um die Nginx-Container über die IP-Adresse des Services und den angegebenen Port (z. B. 80) zu erreichen. Die genaue IP-Adresse hängt von Ihrer Kubernetes Cluster-Konfiguration ab. Sie können die IP-Adresse mit dem folgenden Befehl herausfinden.

kubectl get svc nginx-service
von