This site will be decommissioned on January 30th 2025. After that date content will be available at techdocs.broadcom.com.

Bereitstellen einer Beispielanwendung

In diesem Lernprogramm erfahren Sie, wie Sie eine einfache hello-world-Anwendung in einem TKG-Arbeitslastcluster (Tanzu Kubernetes Grid) bereitstellen, sie über eine externe IP-Adresse verfügbar machen und dann über einen Browser online darauf zugreifen.

Voraussetzungen

Zum Bereitstellen einer Beispielanwendung benötigen Sie Folgendes:

Bereitstellen der Anwendung in einem Arbeitslastcluster

Stellen Sie die hello-world-Anwendung bereit, indem Sie die YAML-Beispieldatei für die Konfiguration kopieren und auf einen Arbeitslastcluster anwenden.

Hinweis

VMware empfiehlt, keine Arbeitslasten in einem eigenständigen Verwaltungscluster bereitzustellen. Das hat folgende Gründe:

  • Eigenständige Verwaltungs- und Arbeitslastcluster verfolgen unterschiedliche Interessen.
  • Eigenständige Verwaltungscluster werden nicht wie Arbeitslastcluster gesichert. Um Stabilität zu gewährleisten, wird die Konfiguration des eigenständigen Verwaltungsclusters am besten als Code verwaltet.
  1. Erstellen Sie eine YAML-Datei für die hello-world-Anwendung mit folgender Konfiguration:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
     labels:
       app.kubernetes.io/name: load-balancer-example
     name: hello-world
    spec:
     replicas: 5
     selector:
       matchLabels:
         app.kubernetes.io/name: load-balancer-example
     template:
       metadata:
         labels:
           app.kubernetes.io/name: load-balancer-example
       spec:
         containers:
         - image: gcr.io/google-samples/node-hello:1.0
           name: hello-world
           ports:
           - containerPort: 8080
    

    Wenn im Arbeitslastcluster ein Windows-Image verwendet wird (eine detaillierte Beschreibung finden Sie unter Benutzerdefinierte Windows-Maschinen-Images), fügen Sie die folgenden spec.template.spec.tolerations hinzu und rücken Sie sie in die Zeile mit obigen containers ein:

         tolerations:
         - value: "windows"
           key: os
           operator: Equal
           effect: "NoSchedule"
         nodeSelector:
           kubernetes.io/os: windows
    
  2. Speichern Sie die YAML-Datei unter dem Namen load-balancer-example.yaml.

  3. Legen Sie kubectl auf den Kontext des Arbeitslastclusters fest, indem Sie folgenden Befehl ausführen:

    kubectl config use-context CLUSTER-admin@CLUSTER
    

    Dabei gilt: CLUSTER ist der Name des Arbeitslastclusters.

  4. Stellen Sie die Anwendung auf dem Arbeitslastcluster bereit:

    kubectl apply -f load-balancer-example.yaml
    

    Die Ausgabe entspricht:

    deployment.apps/hello-world created
    

Bereitstellung der Anwendung

Erstellen Sie ein Dienstobjekt, um die externe IP-Adresse der Anwendung verfügbar zu machen, damit Sie über einen Browser auf die Anwendung zugreifen können.

  1. Erstellen Sie ein Dienstobjekt mit dem Namen my-service:

    kubectl expose deployment hello-world --type=LoadBalancer --name=my-service
    

    Die Ausgabe entspricht:

    service/my-service exposed
    

Online-Zugriff auf die Anwendung

Greifen Sie mithilfe der entsprechenden externen IP-Adresse über einen Browser auf die hello-world-Anwendung zu.

  1. Notieren Sie sich die Werte für LoadBalancer Ingress und TargetPort aus der Ausgabe des folgenden Befehls, um sie im nächsten Schritt zu verwenden:

    kubectl describe services my-service
    

    Die Ausgabe entspricht:

    Name:                     my-service
    Namespace:                default
    Labels:                   app.kubernetes.io/name=load-balancer-example
    Annotations:              <none>
    Selector:                 app.kubernetes.io/name=load-balancer-example
    Type:                     LoadBalancer
    IP Families:              <none>
    IP:                       100.67.254.91
    IPs:                      100.67.254.91
    LoadBalancer Ingress:     10.186.21.200
    Port:                     <unset>  8080/TCP
    TargetPort:               8080/TCP
    NodePort:                 <unset>  32202/TCP
    Endpoints:                100.96.1.15:8080,100.96.1.16:8080,100.96.1.17:8080 + 2 more...
    Session Affinity:         None
    External Traffic Policy:  Cluster
    
    Hinweis

    Wenn LoadBalancer Ingress nicht angezeigt wird, stellen Sie sicher, dass für diesen Arbeitslastcluster ein Lastausgleichsdienst konfiguriert wurde.

  2. Navigieren Sie in einem Browser zu https://IP:PORT, wobei IP der Wert von LoadBalancer Ingress und PORT der Portnummernwert von TargetPort ist, den Sie im vorherigen Schritt aufgezeichnet haben. Beispiel: https://10.186.21.200:8080.

    In der hello-world-Anwendung wird Folgendes angezeigt:

    Hello Kubernetes!
    

Nächste Schritte

Nach der Bereitstellung der Anwendung können Sie nun den Datenverkehr verwalten, Protokolle anzeigen und zugehörige Vorgänge mit Paketen wie Contour, Fluent Bit, Prometheus und Grafana überwachen. Informationen zum Installieren dieser Pakete finden Sie unter Installieren und Verwalten von Paketen mit der Tanzu CLI.

Informationen zum Sichern und Wiederherstellen oder Migrieren Ihrer Arbeitslasten mit Velero finden Sie unter Sichern und Wiederherstellen von Clusterarbeitslasten.

check-circle-line exclamation-circle-line close-line
Scroll to top icon