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