Requisitos previos para la integración en Kubernetes

Estás viendo la documentación de Apigee Edge.
Ir 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 abordan los siguientes temas:

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

Requisitos para tu clúster de Kubernetes

Tu clúster de Kubernetes requiere lo siguiente:

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

Ejemplo: Cómo crear 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 tu máquina local que usas para ejecutar comandos en tu clúster de Kubernetes. Por lo general, esta máquina es una 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 de kubectl 1.9 o posterior.

  • (Solo 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 CPU 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 del clúster

  1. Configura el nombre de tu proyecto de GKE:

    gcloud config set project projectName
  2. Configura 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 del clúster al usuario actual. Se requieren permisos de administrador para crear las reglas de RBAC necesarias para el servicio de Edge Microgateway:

    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 estás en una máquina MacOS o Linux, puedes descargar la versión más reciente o una versión específica 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 específica por número de versión, haz lo siguiente: Ten en cuenta que el número de versión debe tener el prefijo de la letra "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 : Aplicaciones de muestra para probar tu instalación
    • /bin : 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 base de Edge Microgateway al clúster de Kubernetes. El siguiente comando crea un espacio de nombres edgemicro-system y roles de clúster.

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

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

Verifica 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 ejemplo, los procesos tardan uno o dos minutos en iniciarse. Es normal ver varios ciclos de error y reinicio antes de que el 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 ejecuta Ingress, puedes cancelar el comando anterior escribiendo Ctrl+C.

  3. Ejecuta este comando para verificar que se implementen los servicios de Kubernetes. Deberías ver un resultado similar al resultado de ejemplo que se muestra a continuación:

    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 versión 2.5.26 de Edge Microgateway o una posterior. Para verificarlo, ingresa lo siguiente:

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

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

    edgemicro init

    Si necesitas ayuda adicional, consulta Instala Edge Microgateway.

Próximo paso

Ahora tienes todo listo para implementar Edge Microgateway en Kubernetes.