Voraussetzungen für die Kubernetes-Integration

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

In diesem Thema werden die Schritte erläutert, 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
  • Basiskonfiguration von Edge Microgateway in Ihrem Kubernetes-Cluster installieren

Anforderungen für Ihren Kubernetes-Cluster

Für Ihren Kubernetes-Cluster ist Folgendes 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 Google Kubernetes Engine (GKE) erstellen

Kubernetes-Verwaltungsmaschine einrichten

Die Kubernetes-Verwaltungsmaschine ist Ihr lokaler Computer, auf dem Sie Befehle für Ihren Kubernetes-Cluster ausführen. Diese Maschine ist in der Regel eine Desktop-Maschine, die Zugriff auf Ihre Kubernetes-VMs hat.

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

  • Installieren Sie die kubectl-Befehlszeilenschnittstelle 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 auf der Google Cloud Platform (GCP) beim 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 GKE-Projektzone fest:

    gcloud config set compute/zone zoneName
  3. Rufen Sie Ihre gcloud container-Anmeldedaten 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 wie angegeben aus. Der Befehl gewährt dem aktuellen Nutzer Cluster-Administratorberechtigungen. Zum Erstellen der erforderlichen RBAC-Regeln für den Edge Microgateway-Dienst sind Administratorberechtigungen erforderlich:

    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 for Kubernetes herunter. Wenn Sie einen MacOS- oder Linux-Computer verwenden, können Sie die neueste oder eine bestimmte Version herunterladen. Geben Sie dazu den Versionsnamen an.

    So laden Sie die neueste Version herunter:

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

    Um eine bestimmte Version anhand der Versionsnummer abzurufen. Der Versionsnummer muss der Buchstabe „v“ vorangestellt werden. 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. Ändern Sie das Verzeichnis in das Installationsverzeichnis microgateway_Version_OS_ARCH. Beispiel:

    cd microgateway_2.5.26_Darwin_x86_64
  3. Sehen Sie sich das Installationsverzeichnis an:

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

    export PATH=$PWD/bin:$PATH
  5. Wenden Sie die Basiskonfiguration von Edge Microgateway 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. NGINX-Ingress-Controller im Cluster installieren Achten Sie darauf, dass kein anderer Nginix-Controller ausgeführt wird. Dies können Sie prüfen, indem Sie kubectl get pods ausführen.

    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 Neustartzyklen angezeigt werden, bevor sich STATUS zu 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 das Ingress ausgeführt wird, können Sie den obigen Befehl durch 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 so 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 müssen Edge Microgateway 2.5.26 oder eine höhere Version installiert haben. Dies können Sie überprüfen, indem Sie Folgendes eingeben:

    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 den folgenden Befehl aus:

    edgemicro init

    Weitere Informationen finden Sie unter Edge Microgateway installieren.

Nächster Schritt

Jetzt können Sie Edge Microgateway in Kubernetes bereitstellen.