Paso 1: Crea un clúster

Antes de empezar:

En estos pasos se presupone que has creado variables de entorno en los pasos anteriores. Puedes comprobarlos con los siguientes comandos:

echo $PROJECT_ID
echo $ANALYTICS_REGION
echo $ORG_NAME
echo $ENV_NAME

En este paso se explica cómo configurar el entorno de shell y crear un clúster de GKE en tu proyecto de Google Cloud.

Configurar la shell de la terminal

La herramienta gcloud proporciona la interfaz de línea de comandos principal de Google Cloud, mientras que kubectl proporciona la interfaz de línea de comandos principal para ejecutar comandos en clústeres de Kubernetes.

  1. Asegúrate de que tienes gcloud y kubectl instalados en tu shell local. La herramienta gcloud proporciona la interfaz de línea de comandos principal de Google Cloud, mientras que kubectl proporciona la interfaz de línea de comandos principal para ejecutar comandos en clústeres de Kubernetes.

    gcloud -h
    kubectl -h
  2. Si no tienes instaladas estas utilidades, instálalas ahora de la siguiente manera:
    1. Instala el SDK de Google Cloud, que incluye la herramienta de línea de comandos gcloud.
    2. Después de instalar el SDK de Google Cloud, instala la herramienta de línea de comandos kubectl ejecutando el siguiente comando:
    3. gcloud components install kubectl
  3. Usa la herramienta gcloud para configurar dos ajustes predeterminados: tu proyecto y tu región de Compute Engine predeterminados. Al configurar estos ajustes, es más fácil ejecutar comandos de gcloud, ya que gcloud requiere que especifiques el proyecto y la región de cálculo en los que quieres trabajar.

    Para ver la configuración actual, ejecuta el siguiente comando:

    gcloud config list

    Si no aparece un proyecto o una región de computación, debes añadirlos con los comandos que se muestran a continuación. Si, a partir de la salida de la lista, determina que debe cambiar la configuración actual para que refleje su proyecto y su región de cálculo, también puede usar estos comandos:

    gcloud config set project $PROJECT_ID
    gcloud config set compute/region $ANALYTICS_REGION
    

    Donde:

    • PROJECT_ID es el nombre de tu proyecto de Google Cloud.
    • ANALYTICS_REGION es el nombre de una región de computación de Google Cloud

Crear un clúster de GKE

En este paso, crearás un clúster de Kubernetes en tu proyecto de Google Cloud (el proyecto que has configurado con el comando gcloud config representado por PROJECT_ID).

Crear el clúster

  1. Crea la variable de entorno CLUSTER_NAME con el siguiente comando (opcional):
    export CLUSTER_NAME=cluster-name

    En este comando, cluster-name es el nombre que elijas para el clúster.

  2. Ejecuta el siguiente comando para crear el clúster. El tipo de máquina, el número de nodos y otros ajustes especificados en el comando crean un clúster con una configuración mínima adecuada para una instalación de prueba de Apigee hybrid.
    gcloud container clusters create $CLUSTER_NAME \
    --machine-type "e2-standard-4" --num-nodes "4" --enable-autoscaling --min-nodes "3" --max-nodes "6"

    La creación del clúster puede tardar unos minutos. Si la operación se realiza correctamente, se mostrará un resultado similar al siguiente, con el estado RUNNING:

    NAME           LOCATION       MASTER_VERSION  MASTER_IP     MACHINE_TYPE   NODE_VERSION   NUM_NODES  STATUS
    apigee-hybrid  us-central1    1.15.12-gke.2   35.222.54.89  e2-standard-4  1.15.12-gke.2             RUNNING

Definir el contexto actual

Un contexto es un grupo de parámetros de acceso. Cada contexto contiene un clúster de Kubernetes, un usuario y un espacio de nombres. El contexto actual es el clúster que está configurado como predeterminado para kubectl: todos los comandos kubectl se ejecutan en ese clúster.

Asegúrate de que el contexto gcloud actual esté definido en el clúster que acabas de crear.

  1. Primero, enumera los contextos para determinar cuál es el contexto actual. En el siguiente ejemplo, el contexto actual es gke_hybrid-project_us-central1_apigee-hybrid. El nombre incluye el nombre de un proyecto de Google Cloud (hybrid-project), una región (us-central1) y un nombre de clúster (apigee-hybrid).
    kubectl config get-contexts

    Los resultados deberían ser similares al siguiente ejemplo:

    CURRENT   NAME                                             CLUSTER                                          AUTHINFO                                           NAMESPACE
    *         gke_hybrid-project_us-central1_apigee-hybrid     gke_hybrid-project_us-central1_apigee-hybrid     gke_hybrid-project_us-central1_apigee-hybrid
              gke_apigee-project_us-west1_apigee-cluster       gke_apigee-project_us-west1_apigee-cluster       gke_apigee-project_us-west1_apigee-cluster
    
  2. Si es necesario, define el contexto actual en el clúster que acabas de crear (el clúster en el que quieres instalar Apigee hybrid). Con la get-contexts salida anterior, puedes cambiar al contexto correcto de la siguiente manera:
    kubectl config use-context context

    Donde context es el nombre de contexto completo de tu clúster, tal como se muestra en la salida del comando get-contexts anterior. Por ejemplo: gke_apigee-project_us-west1_apigee-cluster.

  3. Comprueba el contexto actual para asegurarte de que se ha definido en el clúster previsto con el siguiente comando:
    kubectl config current-context

    Por ejemplo:

    gke_apigee-project_us-west1_apigee-cluster

Otorgar credenciales de clúster

Las credenciales del clúster te dan acceso a los contenedores que se ejecutan en el clúster. Obtén tus credenciales y adquiere el rol cluster-admin:

  1. Obtén las credenciales introduciendo el siguiente comando:
    gcloud container clusters get-credentials $CLUSTER_NAME

    Donde CLUSTER_NAME es el nombre del clúster que has creado (el clúster en el que quieres instalar Apigee hybrid).

    Deberías ver un resultado similar al siguiente:

    Fetching cluster endpoint and auth data.
    kubeconfig entry generated for example-cluster.
  2. Define la vinculación de rol de clúster. Ejecuta el siguiente comando exactamente como se muestra:
    kubectl create clusterrolebinding cluster-admin-binding \
    --clusterrole cluster-admin --user $(gcloud config get-value account)

    Deberías ver un resultado similar al siguiente:

    clusterrolebinding.rbac.authorization.k8s.io/cluster-admin-binding created

Resumen

Ahora tienes un clúster de Kubernetes en tu proyecto de Google Cloud. Tu entorno de shell está configurado y puedes instalar los servicios cert-manager e Istio que requiere Apigee hybrid en tu máquina local.

1 Paso 2(NEXT): Instala cert-manager y ASM 3 4 5