Apps mit Services zugänglich machen
Verstehen Sie die Rolle von Services bei der Bereitstellung stabiler Netzwerkendpunkte für Pods.
Apps mit Services zugänglich machen ist eine kostenlose Kubernetes Basics-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kubernetes Basics-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kubernetes Basics-Kurs umfasst insgesamt 4 Lektionen.
Pods: Heute hier, morgen weg
In Kubernetes sind Pods die kleinsten bereitstellbaren Einheiten. Sie sind für eine vorübergehende Existenz ausgelegt und können von Kubernetes jederzeit erstellt, zerstört oder verschoben werden.
Diese Flexibilität ist ideal für die Ausfallsicherheit, bringt aber eine Herausforderung mit sich: Wie können andere Anwendungen diese ständig wechselnden Pods zuverlässig finden und mit ihnen kommunizieren?
Das Problem des beweglichen Ziels
Jeder Pod erhält eine eigene IP-Adresse. Wenn ein Pod neu gestartet oder skaliert wird, erhält er häufig eine neue IP-Adresse. Eine direkte Verbindung zur IP eines Pods ist wie der Versuch, ein bewegliches Ziel zu treffen!
Stellen Sie sich eine Webanwendung mit mehreren Pods vor. Wenn ein Pod neu gestartet wird, ändert sich seine IP-Adresse, wodurch Verbindungen anderer Dienste oder Benutzer unterbrochen werden.
Services schaffen Abhilfe!
Hier kommen Kubernetes Services ins Spiel! Ein Service stellt einen stabilen, festen Netzwerk-Endpunkt für eine Gruppe von Pods bereit.
Stellen Sie ihn sich als dauerhafte Adresse für Ihre Anwendung vor, selbst wenn die dahinterliegenden Pods ihre individuellen Adressen ständig ändern.
Ein stabiles Gateway für Pods
Ein Service fungiert als Abstraktionsebene über einer Gruppe von Pods. Er stellt eine einheitliche IP-Adresse und einen DNS-Namen bereit.
- Andere Anwendungen verwenden diese stabile Service-IP bzw. diesen Namen.
- Der Service leitet den Datenverkehr anschließend an die von ihm verwalteten gesunden Pods weiter.
- Dadurch werden Clients von den IP-Adressen einzelner Pods entkoppelt.
Services mit Pods verbinden
Woher weiß ein Service, an welche Pods er den Datenverkehr weiterleiten soll? Er verwendet Labels und Selector!
Wenn Sie einen Service definieren, geben Sie einen selector an. Jeder Pod, der diesen Labels entspricht, wird automatisch Teil der Gruppe dieses Services.
Durch diese dynamische Zuordnung werden neue Pods automatisch hinzugefügt und nicht gesunde Pods entfernt.
Netzwerkverkehr weiterleiten
Services steuern den Fluss des Netzwerkverkehrs. Sie definieren Ports, um eingehende Anfragen den richtigen Ports Ihrer Pods zuzuordnen.
Wichtige Port-Konzepte:
port: Der Port, an dem der Service selbst auf Anfragen wartet.targetPort: Der Port des Pods, an den der Service den Datenverkehr weiterleitet.
Ein Service-Manifest erstellen
Wie die meisten Kubernetes-Ressourcen werden Services mithilfe von YAML-Dateien definiert. Sehen wir uns die grundlegende Struktur an:
apiVersion:v1kind:Servicemetadata: Name, Labelsspec: Enthält die Kerndefinition einschließlichselectorundports.
Ihr erster Service: ClusterIP
Der häufigste Service-Typ für die interne Kommunikation ist ClusterIP. Er stellt den Service über eine interne IP-Adresse innerhalb des Clusters bereit.
Hier ist ein Beispiel für eine einfache Webanwendung:
apiVersion: v1
kind: Service
metadata:
name: my-web-service
spec:
selector:
app: my-webapp
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: ClusterIPIhren Service bereitstellen
Sobald Ihr Service-YAML vorliegt, können Sie es mit kubectl in Ihrem Cluster bereitstellen, genau wie bei Pods oder Deployments.
Dieser Befehl weist Kubernetes an, den Service entsprechend Ihrer Definition zu erstellen:
kubectl apply -f service.yamlIhren neuen Service verwenden
Nach der Bereitstellung erhält Ihr Service innerhalb des Clusters eine stabile IP-Adresse und einen DNS-Namen. Andere Pods können Ihre Anwendung nun über diesen Namen erreichen.
Beispielsweise könnte sich ein anderer Pod mit my-web-service:80 verbinden, und der Service würde die Weiterleitung an die richtigen my-webapp-Pods übernehmen.
Service-Wissenscheck
Sie haben gelernt, wie Kubernetes Services einen stabilen Netzwerkzugriff auf dynamische Pods ermöglichen.
Welche der folgenden Aussagen beschreibt die Hauptaufgabe eines Kubernetes Service am besten?
Zusammenfassung: Stabile Verbindungen
Sehr gut! In dieser Lektion haben wir Kubernetes Services untersucht.
- Pods sind kurzlebig und haben dynamische IP-Adressen.
- Services stellen stabile Netzwerk-Endpunkte für Pods bereit.
- Sie verwenden Selectoren, um Ziel-Pods zu finden.
- Services ordnen den externen
portdem internentargetPortzu. - ClusterIP ist ein gängiger Typ für die interne Kommunikation.
Als Nächstes sehen wir uns verschiedene Service-Typen und ihre Einsatzmöglichkeiten genauer an!
Häufig gestellte Fragen
Ist die Lektion „Apps mit Services zugänglich machen“ kostenlos?
Ja — der vollständige Text von „Apps mit Services zugänglich machen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kubernetes Basics-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kubernetes Basics-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Apps mit Services zugänglich machen“?
Verstehen Sie die Rolle von Services bei der Bereitstellung stabiler Netzwerkendpunkte für Pods. Du übst Kubernetes Basics mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Kubernetes Basics zu starten?
Keine Vorkenntnisse erforderlich. Kubernetes Basics auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Apps mit Services zugänglich machen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Kubernetes Basics-Lektion Code schreiben und ausführen?
Ja. Jede Kubernetes Basics-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Apps mit Services zugänglich machen
- Service-Typen: ClusterIP, NodePort, LoadBalancer
- Ingress für externen Zugriff
- DNS und Service Discovery