Voraussetzungen für die Kubernetes-Integration

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zuApigee X wechseln.
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.
  • So installieren und konfigurieren Sie Edge Microgateway.
  • So installieren Sie die Basiskonfiguration von Edge Microgateway in Ihrem Kubernetes-Cluster.

Anforderungen für Ihren Kubernetes-Cluster

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

  • Kubernetes-Version 1.9 oder höher.
  • Kubernetes CLI 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, mit dem Sie Befehle für Ihren Kubernetes-Cluster ausführen. Diese Maschine ist in der Regel ein Desktop-Computer, der Zugriff auf Ihre Kubernetes-VMs hat.

Sie müssen die folgenden Dienstprogramme auf der Kubernetes-Verwaltungsmaschine installieren:

  • Installieren Sie die kubectl-Befehls zeilenschnittstelle Version 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) Console im Google Kubernetes Engine (GKE)-Dashboard 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. Beispiel: 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 Ihr 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 gezeigt aus. Mit dem Befehl werden dem aktuellen Nutzer Cluster-Administratorberechtigungen gewährt. Administratorberechtigungen sind erforderlich, 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 MacOS- oder Linux-Computer verwenden, können Sie die neueste Version oder eine bestimmte Version herunterladen, indem Sie den Versionsnamen angeben.

    So rufen Sie die neueste Version ab:

    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. Sehen Sie sich das Installationsverzeichnis an:

    • /install/kubernetes - Konfigurationsdateien.yaml für die Bereitstellung in Kubernetes.
    • /samples - Beispielanwendungen zum Testen Ihrer Installation.
    • /bin - Die edgemicroctl ausführbare Datei. Mit dem Befehl edgemicroctl wird Edge Microgateway in Kubernetes eingefügt.
  4. Fügen Sie den edgemicroctl-Client zu Ihrem 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 Edge Microgateway-Basiseinrichtung 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 dies mit 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 Neustartzyklen auftreten, bevor sich der 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 ausgeführt wird, können Sie den obigen Befehl mit Ctrl+C abbrechen.

  3. Führen Sie diesen Befehl aus, um zu prüfen, ob die Kubernetes-Dienste bereitgestellt wurden. Die Ausgabe sollte der folgenden Beispielausgabe ähneln:

    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. Sie können dies mit dem folgenden Befehl prüfen:

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

    npm install edgemicro -g
  3. Wenn Sie Edge Microgateway gerade zum ersten Mal installiert oder aktualisiert 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.