Prerequisiti per l'integrazione di Kubernetes

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

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

Questo argomento illustra i seguenti argomenti:

  • I requisiti minimi per il tuo 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 tuo cluster Kubernetes richiede:

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

Esempio: creare un cluster Kubernetes su Google Kubernetes Engine (GKE)

Configura la tua macchina di amministrazione Kubernetes

La macchina di amministrazione Kubernetes è la macchina locale che utilizzi per eseguire i comandi sul tuo cluster Kubernetes. Si tratta in genere di una macchina desktop che ha 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.

Crea un cluster Kubernetes su GKE

  1. Accedi alla dashboard di Google Kubernetes Engine (GKE) su Google Cloud Platform (GCP).
  2. Fai clic su Crea cluster.
  3. Seleziona Cluster Standard.
  4. Inserisci un nome per il cluster.
  5. Selezionare 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.

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

    Dashboard GKE

Recupera le credenziali del tuo cluster

  1. Imposta il nome del tuo progetto GKE:

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

    gcloud config set compute/zone zoneName
  3. Recupera le tue credenziali per container 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 questo 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 determinata versione specificando il nome della versione.

    Per scaricare l'ultima versione:

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

    Per ottenere una determinata versione 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 directory nella directory 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 in Kubernetes.
    • /samples: applicazioni di esempio per testare l'installazione.
    • /bin: l'eseguibile edgemicroctl. Il comando edgemicroctl inserisce Edge Microgateway in Kubernetes
  4. Aggiungi il client edgemicroctl a PATH. Ad esempio, esegui questo comando su un sistema MacOS o Linux:

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

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

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

Verifica l'installazione

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

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

    Come mostra il seguente output di esempio, l'avvio dei processi richiede un paio di minuti. È normale vedere 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 che Ingress è in esecuzione, puoi annullare il comando riportato sopra digitando Ctrl+C.

  3. Esegui questo comando per verificare che sia stato eseguito il deployment dei servizi Kubernetes. Dovresti vedere un output simile a quello di esempio 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. È necessario che sia installato Edge Microgateway 2.5.26 o una versione successiva. Puoi verificarlo inserendo:

    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 Installazione di Edge Microgateway.

Passaggio successivo

Ora è tutto pronto per eseguire il deployment di Edge Microgateway in Kubernetes.