Requisitos previos para la integración en Kubernetes

Estás viendo la documentación de Apigee Edge.
Ve a la documentación de Apigee X.
info

En este tema, se explican los pasos que debes completar antes de instalar Edge Microgateway como un servicio en un clúster de Kubernetes.

En este tema, se analiza lo siguiente:

  • Los requisitos mínimos para tu clúster de Kubernetes
  • Cómo instalar y configurar Edge Microgateway
  • Cómo instalar la configuración básica de Edge Microgateway en tu clúster de Kubernetes

Requisitos para tu clúster de Kubernetes

Tu clúster de Kubernetes requiere lo siguiente:

  • Versión 1.9 de Kubernetes o posterior
  • La CLI de Kubernetes kubectl v1.9 o versiones posteriores
  • Un clúster con al menos 3 nodos que tengan 2 CPU virtuales cada uno

Ejemplo: Crea un clúster de Kubernetes en Google Kubernetes Engine (GKE)

Configura tu máquina de administración de Kubernetes

La máquina de administración de Kubernetes es la máquina local que usas para ejecutar comandos en tu clúster de Kubernetes. Esta máquina suele ser una computadora de escritorio que tiene acceso a tus VMs de Kubernetes.

Debes instalar las siguientes utilidades en la máquina de administración de Kubernetes:

  • Instala la interfaz de línea de comandos 1.9 o una versión posterior de kubectl.

  • (Solo para GKE) Instala gcloud si ejecutas Kubernetes en GKE.

Crea un clúster de Kubernetes en GKE

  1. Accede al panel de Google Kubernetes Engine (GKE) en Google Cloud Platform (GCP).
  2. Haz clic en Crear clúster.
  3. Selecciona Clúster estándar.
  4. Ingresa un nombre para tu clúster.
  5. Selecciona una zona.
  6. Selecciona Cluster Version 1.9.7-gke-*. Por ejemplo, 1.9.7-gke.6.
  7. Selecciona un tamaño de 3 nodos.
  8. Selecciona 2 CPUs virtuales con 7.5 GB de memoria.
  9. Haz clic en Crear.

    En la siguiente captura de pantalla, se muestra el panel de GKE completado como se describe en los pasos anteriores:

    Panel de GKE

Obtén las credenciales de tu clúster

  1. Establece el nombre de tu proyecto de GKE:

    gcloud config set project projectName
  2. Establece la zona de tu proyecto de GKE:

    gcloud config set compute/zone zoneName
  3. Obtén tus credenciales de contenedor de gcloud:

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

    Donde:

    • cluster-name es el nombre del clúster de Kubernetes que creaste.
    • zone es la zona en la que se encuentra tu clúster.
    • project-name es el nombre de tu proyecto de GCP.

    Por ejemplo:

    gcloud container clusters get-credentials edgemicrogateway-cluster --zone us-central1-a --project edgemicro-project
  4. Ejecuta el siguiente comando exactamente como se muestra. El comando otorga permisos de administrador de clúster al usuario actual. Se requieren permisos de administrador para crear las reglas de RBAC necesarias para el servicio de micropuerta de enlace de Edge:

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

Instala Edge Microgateway para Kubernetes

  1. Descarga Edge Microgateway para Kubernetes. Si usas una máquina MacOS o Linux, puedes descargar la versión más reciente o una versión en particular si especificas el nombre de la versión.

    Para obtener la versión más reciente, haz lo siguiente:

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

    Para obtener una versión en particular por número de versión. Ten en cuenta que el número de versión debe tener el prefijo “v”. Por ejemplo: v3.0.2

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

    Por ejemplo:

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s v3.0.2
  2. Cambia el directorio al directorio de instalación microgateway_Version_OS_ARCH. Por ejemplo:

    cd microgateway_2.5.26_Darwin_x86_64
  3. Examina el directorio de instalación:

    • /install/kubernetes: Archivos .yaml de configuración para la implementación en Kubernetes.
    • /samples: Son aplicaciones de ejemplo para probar tu instalación.
    • /bin: Es el ejecutable edgemicroctl. El comando edgemicroctl inserta Edge Microgateway en Kubernetes
  4. Agrega el cliente edgemicroctl a tu PATH. Por ejemplo, ejecuta el siguiente comando en un sistema MacOS o Linux:

    export PATH=$PWD/bin:$PATH
  5. Aplica la configuración básica de Edge Microgateway al clúster de Kubernetes. Con el siguiente comando, se crean roles de clúster y un espacio de nombres edgemicro-system.

    kubectl apply -f install/kubernetes/edgemicro.yaml
  6. Instala el controlador de NGINX Ingress en el clúster. Asegúrate de que no se esté ejecutando ningún otro controlador de Nginix. Para verificarlo, ejecuta kubectl get pods.

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

Verifique la instalación

  1. Para verificar si se inició el controlador de Ingress, ejecuta el siguiente comando:

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

    Como se muestra en el siguiente resultado de muestra, los procesos tardan uno o dos minutos en iniciarse. Es normal ver varios ciclos de error y reinicio antes de que STATUS cambie a 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 vez que se esté ejecutando el Ingress, puedes cancelar el comando anterior escribiendo Ctrl+C.

  3. Ejecuta este comando para verificar que los servicios de Kubernetes se hayan implementado. Deberías ver un resultado similar al siguiente:

    kubectl get svc -n edgemicro-system
    

    Resultado de ejemplo:

    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 que todos los pods se estén ejecutando:

    kubectl get pods -n edgemicro-system
    

    Resultado de ejemplo:

    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
    

Instala Edge Microgateway

  1. Debes tener instalada la Microgateway de Edge 2.5.26 o una versión posterior. Para verificarlo, ingresa lo siguiente:

    edgemicro --version
  2. Si no tienes instalada la Microgateway de Edge 2.5.26 o una versión posterior, ejecuta la secuencia de comandos de instalación:

    npm install edgemicro -g
  3. Si acabas de instalar Edge Microgateway por primera vez o la actualizaste, ejecuta este comando:

    edgemicro init

    Si necesitas ayuda adicional, consulta Cómo instalar Edge Microgateway.

Próximo paso

Ya está todo listo para implementar Edge Microgateway en Kubernetes.