Website-Suche

Erstellen, Verwalten und Bereitstellen eines Diensts in Kubernetes


Ein "Service" ist eine Möglichkeit, eine Anwendung über das Netzwerk in Kubernetes zugänglich zu machen. Dabei werden ein oder mehrere Netzwerkports verfügbar gemacht, die an eine containerisierte Anwendung gebunden sind. Sie können z. B. einen containerisierten Webserver ausführen und ihn über das Netzwerk verfügbar machen, um ihn in einen Dienst umzuwandeln. Dies ermöglicht dann eingehende Client-Verbindungen, sodass Benutzer in diesem Fall den gehosteten Webserver besuchen können.

In diesem Tutorial gehen wir die Schritt-für-Schritt-Anleitung zum Erstellen, Verwalten und Bereitstellen eines Dienstes in Kubernetes auf einem Linux-System durch. Dies unterscheidet sich nicht wesentlich von der Bereitstellung einer Anwendung, mit der Ausnahme, dass ein Port ebenfalls verfügbar gemacht wird, damit er über das Netzwerk zugänglich ist. Fangen wir an!

In diesem Tutorial lernen Sie:

  • Erstellen, Verwalten und Bereitstellen eines Diensts in Kubernetes

Erstellen und Bereitstellen eines Kubernetes-Dienstes – Schritt-für-Schritt-Anleitung

Bevor Sie beginnen, gehen Sie in diesem Tutorial davon aus, dass Sie Kubernetes bereits installiert und mit der Erstellung eines Kubernetes-Clusers begonnen haben, unabhängig davon, ob Sie über eine produktionsbereite Konfiguration oder nur über ein Testsystem mit einem einzelnen Knoten verfügen.

  1. Der erste Schritt bei der Erstellung des Dienstes besteht darin, unsere YAML-Datei mit den Anforderungen auszufüllen. In diesem Beispiel erstellen wir eine Nginx-Bereitstellung. Die folgende Konfiguration reicht aus, um eine Barebone-Nginx-Bereitstellung mit 3 Replikaten zu erstellen. Beachten Sie die letzte Zeile, in der wir angeben, dass Nginx auf Port 80 mit der containerPort-Syntax lauscht.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment
      labels:
        app: nginx
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            ports:
            - containerPort: 80

    Speichern Sie die Änderungen, und beenden Sie die YAML-Datei, wenn Sie mit den Änderungen fertig sind.

  2. Verwenden Sie als Nächstes den Befehl kubectl, um die Bereitstellung in Kubernetes anzuwenden.

    
    kubectl apply -f ./nginx-deployment.yaml
    
  3. Starten Sie als Nächstes die Instanz von Nginx mit dem Befehl kubectl run. Unsere Konfiguration in der Bereitstellungsdatei von früher wird automatisch darauf angewendet.

    
    kubectl run --image=nginx nginx-server --port=80 --env="DOMAIN=cluster"
    
  4. Dann machen wir die Nginx-Anwendung auf Port 80 verfügbar, da wir diesen zuvor als Listening-Port der Anwendung definiert haben:

    
    kubectl expose deployment nginx-deployment --port=80 --name=nginx-http
    
  5. Verwenden Sie den folgenden Befehl, um sicherzustellen, dass die drei Replikate von Nginx betriebsbereit sind:

    
    kubectl get pods
    

  6. Überprüfen Sie als Nächstes den nginx-http-Dienst, um zu sehen, wie seine lauschende IP lautet.

    
    kubectl get svc nginx-http
    

  7. Wir können nun im Browser zu dieser IP-Adresse navigieren. Da Port 80 zuvor offengelegt wurde, sollten wir keine Probleme haben, auf die Website zuzugreifen.

Abschließende Gedanken

In diesem Tutorial haben wir gesehen, wie Sie einen Dienst in Kubernetes auf einem Linux-System erstellen, verwalten und verfügbar machen. Als Beispiel haben wir ein Nginx-Image ausgeführt und seine Konfiguration mit einer Bereitstellungsdatei gesteuert. Dann haben wir es auf Port 80 verfügbar gemacht, was uns den Zugriff auf den Webserver ermöglichte, indem wir zur IP-Adresse des Dienstes navigierten. Die Verwendung von Diensten in Kubernetes ist recht einfach und erfordert nur wenige Befehle, um eingerichtet zu werden.

Verwandte Artikel: