Prerequisiti per l'integrazione di Kubernetes

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
info

Questo argomento illustra i passaggi da completare prima di installare Edge Microgateway come servizio in un cluster Kubernetes.

Questo argomento illustra:

  • I requisiti minimi per il cluster Kubernetes.
  • Come installare e configurare Edge Microgateway.
  • Come installare la configurazione di base di Edge Microgateway nel tuo cluster Kubernetes.

Requisiti per il cluster Kubernetes

Il cluster Kubernetes richiede:

  • Kubernetes 1.9 o versioni successive.
  • Interfaccia a riga di comando Kubernetes kubectl versione 1.9 o successive.
  • Un cluster con almeno 3 nodi con 2 vCPU ciascuno.

Esempio: creazione di un cluster Kubernetes su Google Kubernetes Engine (GKE)

Configura la macchina di amministrazione Kubernetes

La macchina di amministrazione Kubernetes è la tua macchina locale che utilizzi per eseguire comandi sul cluster Kubernetes. In genere, si tratta di un computer desktop con accesso alle VM Kubernetes.

Devi installare le seguenti utilità sulla macchina di amministrazione Kubernetes:

  • Installa l'interfaccia a riga di comando kubectl 1.9 o versioni successive.

  • (Solo GKE) Installa gcloud se esegui Kubernetes su GKE.

Creare un cluster Kubernetes su GKE

  1. Accedi alla dashboard di Google Kubernetes Engine (GKE) sulla piattaforma Google Cloud (GCP).
  2. Fai clic su Crea cluster.
  3. Seleziona Cluster standard.
  4. Inserisci un nome per il cluster.
  5. Seleziona una zona.
  6. Seleziona Cluster Version 1.9.7-gke-*. Ad esempio 1.9.7-gke.6.
  7. Seleziona una dimensione di 3 nodi.
  8. Seleziona 2 vCPU con 7,5 GB di memoria.
  9. Fai clic su Crea.

    Lo screenshot seguente mostra la dashboard GKE compilata come descritto nei passaggi precedenti:

    Dashboard GKE

Recupera le credenziali del cluster

  1. Imposta il nome del progetto GKE:

    gcloud config set project projectName
  2. Imposta la zona del progetto GKE:

    gcloud config set compute/zone zoneName
  3. Recupera le credenziali del contenitore gcloud:

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

    dove:

    • cluster-name è il nome del cluster Kubernetes che hai creato.
    • zone è la zona in cui si trova il cluster.
    • project-name è il nome del tuo progetto Google Cloud.

    Ad esempio:

    gcloud container clusters get-credentials edgemicrogateway-cluster --zone us-central1-a --project edgemicro-project
  4. Esegui il seguente comando esattamente come mostrato. Il comando concede all'utente corrente le autorizzazioni di amministratore del cluster. Per creare le regole RBAC necessarie per il servizio Edge Microgateway sono necessarie le autorizzazioni di amministratore:

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

Installa Edge Microgateway per Kubernetes

  1. Scarica Edge Microgateway per Kubernetes. Se utilizzi un computer MacOS o Linux, puoi scaricare la versione più recente o una versione specifica specificandone il nome.

    Per scaricare la versione più recente:

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

    Per ottenere una versione specifica in base al numero di versione. Tieni presente che il numero di versione deve essere preceduto dalla lettera "v". Ad esempio: v3.0.2

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

    Ad esempio:

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s v3.0.2
  2. Cambia la directory impostandola su quella di installazione microgateway_Version_OS_ARCH. Ad esempio:

    cd microgateway_2.5.26_Darwin_x86_64
  3. Esamina la directory di installazione:

    • /install/kubernetes - File di configurazione .yaml per il deployment su Kubernetes.
    • /samples - Applicazioni di esempio per testare l'installazione.
    • /bin: il file eseguibile edgemicroctl. Il comando edgemicroctl inietta Edge Microgateway in Kubernetes
  4. Aggiungi il client edgemicroctl a PATH. Ad esempio, esegui il seguente comando su un sistema MacOS o Linux:

    export PATH=$PWD/bin:$PATH
  5. Applica la configurazione di base di Edge Microgateway al cluster Kubernetes. Il comando seguente crea uno spazio dei nomi edgemicro-system e i ruoli del cluster.

    kubectl apply -f install/kubernetes/edgemicro.yaml
  6. Installa il controller Ingress NGINX nel cluster. Assicurati che non sia in esecuzione nessun altro controller NGINX. Puoi controllare eseguendo kubectl get pods.

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

Verificare l'installazione

  1. Per verificare se il controller Ingress è stato avviato, esegui il seguente comando:

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

    Come mostrato dall'output di esempio seguente, l'avvio delle operazioni richiede uno o due minuti. È normale visualizzare diversi cicli di errore e riavvio prima che STATUS diventi Running.

    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. Una volta avviato Ingress, puoi annullare il comando precedente digitando Ctrl+C.

  3. Esegui questo comando per verificare che i servizi Kubernetes siano di cui è stato eseguito il deployment. Dovresti vedere un output simile a quello mostrato di seguito:

    kubectl get svc -n edgemicro-system
    

    Output di esempio:

    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. Verifica che tutti i pod siano in esecuzione:

    kubectl get pods -n edgemicro-system
    

    Output di esempio:

    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
    

Installa Edge Microgateway

  1. Devi aver installato Edge Microgateway 2.5.26 o una versione successiva. Per verificare, inserisci:

    edgemicro --version
  2. Se non hai installato Edge Microgateway 2.5.26 o versioni successive, esegui lo script di installazione:

    npm install edgemicro -g
  3. Se hai appena installato Edge Microgateway per la prima volta o ne hai eseguito l'upgrade, esegui questo comando:

    edgemicro init

    Se hai bisogno di ulteriore assistenza, vedi Installare Edge Microgateway.

Passaggio successivo

Ora puoi eseguire il deployment di Edge Microgateway in Kubernetes.