Voraussetzungen für die Kubernetes-Integration

Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an.
info

In diesem Thema werden die Schritte beschrieben, die Sie ausführen müssen, bevor Sie Edge Microgateway als Dienst in einem Kubernetes-Cluster installieren.

In diesem Thema werden folgende Themen behandelt:

  • Die Mindestanforderungen für Ihren Kubernetes-Cluster.
  • Edge Microgateway installieren und konfigurieren
  • So installieren Sie die Basiskonfiguration von Edge Microgateway in Ihrem Kubernetes-Cluster.

Anforderungen an Ihren Kubernetes-Cluster

Für Ihren Kubernetes-Cluster sind folgende Voraussetzungen erforderlich:

  • Kubernetes-Version 1.9 oder höher
  • Kubernetes-Befehlszeile kubectl Version 1.9 oder höher
  • Ein Cluster mit mindestens 3 Knoten mit jeweils 2 vCPUs.

Beispiel: Kubernetes-Cluster in der Google Kubernetes Engine (GKE) erstellen

Kubernetes-Administrationscomputer einrichten

Der Kubernetes-Verwaltungscomputer ist Ihr lokaler Computer, mit dem Sie Befehle für Ihren Kubernetes-Cluster ausführen. Dieser Computer ist in der Regel ein Computer, der Zugriff auf Ihre Kubernetes-VMs hat.

Sie müssen die folgenden Dienstprogramme auf dem Kubernetes-Verwaltungscomputer installieren:

  • Installieren Sie die Befehlszeile kubectl 1.9 oder höher.

  • (Nur GKE) Installieren Sie gcloud, wenn Sie Kubernetes in GKE ausführen.

Kubernetes-Cluster in GKE erstellen

  1. Melden Sie sich in der Google Cloud Platform (GCP) im Dashboard der Google Kubernetes Engine (GKE) an.
  2. Klicken Sie auf Cluster erstellen.
  3. Wählen Sie Standardcluster aus.
  4. Geben Sie einen Namen für den Cluster ein.
  5. Wählen Sie eine Zone aus.
  6. Wählen Sie „Cluster Version 1.9.7-gke-*“ aus. z. B. 1.9.7-gke.6.
  7. Wählen Sie eine Größe von 3 Knoten aus.
  8. Wählen Sie 2 vCPUs mit 7,5 GB Arbeitsspeicher aus.
  9. Klicken Sie auf Erstellen.

    Der folgende Screenshot zeigt das GKE-Dashboard, das wie in den vorherigen Schritten beschrieben ausgefüllt wurde:

    GKE-Dashboard

Clusteranmeldedaten abrufen

  1. Legen Sie den Namen Ihres GKE-Projekts fest:

    gcloud config set project projectName
  2. Legen Sie die Zone Ihres GKE-Projekts fest:

    gcloud config set compute/zone zoneName
  3. Rufen Sie Ihre gcloud-Containeranmeldedaten ab:

    gcloud container clusters get-credentials cluster-name --zone zone --project project-name

    Dabei gilt:

    • cluster-name ist der Name des von Ihnen erstellten Kubernetes-Clusters.
    • zone ist die Zone, in der sich der Cluster befindet.
    • project-name ist der Name Ihres GCP-Projekts.

    Beispiel:

    gcloud container clusters get-credentials edgemicrogateway-cluster --zone us-central1-a --project edgemicro-project
  4. Führen Sie den folgenden Befehl genau so aus: Der Befehl gewährt dem aktuellen Nutzer Cluster-Administratorberechtigungen. Sie benötigen Administratorberechtigungen, um die erforderlichen RBAC-Regeln für den Edge Microgateway-Dienst zu erstellen:

    kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value core/account)
    

Edge Microgateway für Kubernetes installieren

  1. Laden Sie Edge Microgateway für Kubernetes herunter. Wenn Sie einen Mac oder Linux-Computer verwenden, können Sie die neueste Version oder eine bestimmte Version herunterladen, indem Sie den Versionsnamen angeben.

    So erhalten Sie die neueste Version:

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -

    So rufen Sie eine bestimmte Version anhand der Versionsnummer ab. Die Versionsnummer muss mit dem Buchstaben „v“ beginnen. Beispiel: v3.0.2

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s  version

    Beispiel:

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s v3.0.2
  2. Wechseln Sie in das Installationsverzeichnis microgateway_Version_OS_ARCH. Beispiel:

    cd microgateway_2.5.26_Darwin_x86_64
  3. Prüfen Sie das Installationsverzeichnis:

    • /install/kubernetes – Konfigurations.yamldateien für die Bereitstellung in Kubernetes.
    • /samples – Beispielanwendungen zum Testen der Installation.
    • /bin: Die ausführbare edgemicroctl-Datei. Mit dem Befehl edgemicroctl wird Edge Microgateway in Kubernetes eingefügt.
  4. Fügen Sie dem PATH den edgemicroctl-Client hinzu. Führen Sie beispielsweise auf einem macOS- oder Linux-System den folgenden Befehl aus:

    export PATH=$PWD/bin:$PATH
  5. Wenden Sie die grundlegende Edge Microgateway-Einrichtung auf den Kubernetes-Cluster an. Mit dem folgenden Befehl werden ein edgemicro-system-Namespace und Clusterrollen erstellt.

    kubectl apply -f install/kubernetes/edgemicro.yaml
  6. Installieren Sie den NGINX-Ingress-Controller im Cluster. Achten Sie darauf, dass kein anderer NGINX-Controller ausgeführt wird. Sie können das mit dem Befehl kubectl get pods prüfen.

    kubectl apply -f install/kubernetes/edgemicro-nginx-gke.yaml

Installation überprüfen

  1. Führen Sie den folgenden Befehl aus, um zu prüfen, ob der Ingress-Controller gestartet wurde:

    kubectl get pods --all-namespaces -l app=edgemicro-ingress --watch

    Wie die folgende Beispielausgabe zeigt, dauert es ein bis zwei Minuten, bis die Prozesse gestartet werden. Es ist normal, dass mehrere Fehler- und Neustartschleifen auftreten, bevor sich das STATUS in Running ändert.

    NAMESPACE          NAME                                            READY     STATUS             RESTARTS   AGE
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       CrashLoopBackOff   1          33s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       Error              2          33s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       CrashLoopBackOff   2          40s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       Running            3          1m
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   1/1       Running            3          1m
    
  2. Sobald der Ingress-Dienst läuft, können Sie den Befehl oben mit der Eingabe von Ctrl+C abbrechen.

  3. Führen Sie diesen Befehl aus, um zu prüfen, ob die Kubernetes-Dienste bereitgestellt wurden. Die Ausgabe sollte in etwa wie im folgenden Beispiel aussehen:

    kubectl get svc -n edgemicro-system
    

    Beispielausgabe:

    NAME                        TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)                     AGE
    default-http-backend        ClusterIP      10.19.255.106  <none>         80/TCP                       2h
    edgemicro-ingress           LoadBalancer   10.19.247.156  35.224.24.13   80:30176/TCP,443:32325/TCP   2h
    
  4. Prüfen Sie, ob alle Pods ausgeführt werden:

    kubectl get pods -n edgemicro-system
    

    Beispielausgabe:

    NAME                                            READY     STATUS    RESTARTS   AGE
    default-http-backend-55c6c69b88-2lvtw           1/1       Running   0          4m
    edgemicro-ingress-controller-64444469bf-wjhrn   1/1       Running   3          4m
    

Edge Microgateway installieren

  1. Sie benötigen Edge Microgateway 2.5.26 oder höher. Sie können das mit folgendem Befehl prüfen:

    edgemicro --version
  2. Wenn Sie Edge Microgateway 2.5.26 oder höher nicht installiert haben, führen Sie das Installationsskript aus:

    npm install edgemicro -g
  3. Wenn Sie Edge Microgateway gerade zum ersten Mal installiert oder ein Upgrade durchgeführt haben, führen Sie diesen Befehl aus:

    edgemicro init

    Weitere Informationen finden Sie unter Edge Microgateway installieren.

Nächster Schritt

Jetzt können Sie Edge Microgateway in Kubernetes bereitstellen.