Prerequisiti per l'integrazione di Kubernetes

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

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

Questo argomento tratta i seguenti argomenti:

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

Requisiti per il cluster Kubernetes

Il cluster Kubernetes richiede:

  • Kubernetes versione 1.9 o successive.
  • Interfaccia a riga di comando kubectl v1.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 di Kubernetes

La macchina di amministrazione di Kubernetes è la macchina locale che utilizzi per eseguire i comandi sul cluster Kubernetes. In genere, si tratta di una macchina desktop che ha accesso alle VM Kubernetes.

Devi installare le seguenti utilità sulla macchina di amministrazione di 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. 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 di 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 gcloud container:

    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 progetto GCP.

    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 le autorizzazioni di amministratore del cluster all'utente corrente. Sono necessarie le autorizzazioni di amministratore per creare le regole RBAC necessarie per il servizio Edge Microgateway:

    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 l'ultima versione o una versione specifica specificando il nome della versione.

    Per ottenere l'ultima versione:

    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. Passa alla 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 .yaml di configurazione 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 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 seguente comando 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 verificare 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 il seguente comando:

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

    Come mostra l'output di esempio seguente, l'avvio dei processi richiede uno o due minuti. È normale vedere diversi cicli di errore e riavvio prima che STATUS cambi in 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 precedente digitando Ctrl+C.

  3. Esegui questo comando per verificare che i servizi Kubernetes siano stati sottoposti a deployment. Dovresti visualizzare un output simile a quello di esempio riportato 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. Puoi verificare 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 hai eseguito l'upgrade, esegui questo comando:

    edgemicro init

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

Passaggio successivo

Ora puoi eseguire il deployment di Edge Microgateway in Kubernetes.