0Pricing
DevOps Bootcamp · Lektion

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 DevOps Bootcamp-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 DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-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: v1
  • kind: Service
  • metadata: Name, Labels
  • spec: Enthält die Kerndefinition einschließlich selector und ports.

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: ClusterIP

Ihren 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.yaml

Ihren 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 port dem internen targetPort zu.
  • 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 DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-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 DevOps Bootcamp 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 DevOps Bootcamp zu starten?

Keine Vorkenntnisse erforderlich. DevOps Bootcamp 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 DevOps Bootcamp-Lektion Code schreiben und ausführen?

Ja. Jede DevOps Bootcamp-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

  1. Apps mit Services zugänglich machen
  2. Service-Typen: ClusterIP, NodePort, LoadBalancer
  3. Ingress für externen Zugriff
  4. DNS und Service Discovery
← Zurück zu DevOps Bootcamp