Technologieaustausch

Arten und Nutzung der in k8s bereitgestellten Dienste

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Beschreibung
In Kubernetes gibt es verschiedene Möglichkeiten, Dienste dem externen Datenverkehr zugänglich zu machen. Diese Modi werden durch die Definition des spec.type-Felds des Dienstes bestimmt.
2. Ausführliche Erklärung
1. ClusterIP
Definition: Standardtyp, auf den Dienst kann nur innerhalb des Clusters zugegriffen werden.
Funktion: Dienste über die interne IP-Adresse des Clusters verfügbar machen.
Beispiel:

spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: 8080
  • 1
  • 2
  • 3
  • 4
  • 5

2.KnotenPort
Definition: Öffnen Sie auf jedem Knoten einen High-Port (normalerweise 30000-32767), um externen Datenverkehr den Zugriff auf den Dienst zu ermöglichen.
Funktion: Greifen Sie über die IP-Adresse und den NodePort eines beliebigen Knotens auf den Dienst zu.
Beispiel:

spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 8080
      nodePort: 30007
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3. Lastenausgleich

Definition: Der von der Cloud-Plattform bereitgestellte Load Balancer weist dem Dienst eine externe IP-Adresse zu.
Funktion: Greifen Sie über diese IP-Adresse auf den Dienst zu, geeignet für Situationen, in denen ein externer Lastausgleich des Datenverkehrs erforderlich ist.
Beispiel:

spec:
  type: LoadBalancer
  ports:
    - port: 80
      targetPort: 8080
  selector:
    app: my-app
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4. Externer Name

Definition: Ordnen Sie einen Dienst einem externen Domänennamen zu (z. B. einem Datenbankdienst).
Funktion: Greifen Sie über den angegebenen externen Domänennamen auf den Dienst zu und nicht über die interne Cluster-IP oder Knoten-IP.
Beispiel:

spec:
  type: ExternalName
  externalName: example.com
  • 1
  • 2
  • 3

2. Zusammenfassung
ClusterIP: Der Standarddiensttyp, auf den nur innerhalb des Clusters zugegriffen werden kann.
NodePort: Öffnen Sie auf jedem Knoten einen Port, um externen Datenverkehr den Zugriff auf Dienste zu ermöglichen.
LoadBalancer: Der von der Cloud-Plattform bereitgestellte Load Balancer weist eine externe IP-Adresse zu, die für Situationen geeignet ist, in denen ein Lastausgleich erforderlich ist.
ExternalName: Ordnet den Dienst einem externen Domänennamen zu, geeignet für Szenarien, die Zugriff auf externe Dienste erfordern.