Etapa 1: criar um cluster

Antes de começar:

Nestas etapas, presume-se que você tenha criado variáveis de ambiente nas etapas anteriores. Verifique com os seguintes comandos:

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

Nesta etapa, explicamos como configurar o ambiente de shell e criar um cluster do GKE no projeto do Google Cloud Platform (GCP).

Configurar o shell do terminal

A ferramenta gcloud fornece a principal interface de linha de comando do Google Cloud e kubectl fornece a principal interface de linha de comando para executar comandos em clusters do Kubernetes.

  1. Certifique-se de que o gcloud e o kubectl estejam instalados no shell local. A ferramenta gcloud fornece a principal interface de linha de comando do Google Cloud e kubectl fornece a principal interface de linha de comando para executar comandos em clusters do Kubernetes.

    gcloud -h
    kubectl -h
  2. Se você não tiver esses utilitários instalados, instale-os agora conforme mostrado a seguir:
    1. Instale o SDK do Cloud , que inclui a ferramenta de linha de comando gcloud.
    2. Depois de instalar o SDK do Cloud, execute o comando a seguir para instalar a ferramenta de linha de comando kubectl:
    3. gcloud components install kubectl
  3. Use a ferramenta gcloud para definir duas configurações padrão: projeto e região do Compute. A definição dessas configurações facilita a execução dos comandos gcloud, porque gcloud requer que você especifique o projeto e a região de computação em que quer trabalhar.

    Para listar as configurações atuais, execute o seguinte comando:

    gcloud config list

    Se um projeto e/ou região de computação não estiverem listados, será necessário adicioná-los com os comandos mostrados abaixo. Se, na saída da lista, você determinar que precisa mudar as configurações atuais para refletir seu projeto e a região de computação, também poderá usar estes comandos:

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

    Em que:

    • PROJECT_ID é o nome do projeto do Google Cloud;
    • ANALYTICS_REGION é o nome de uma região de computação do Google Cloud;

Crie um cluster do GKE

Nesta etapa, você criará um cluster do Kubernetes no projeto do Google Cloud (o projeto definido com o comando gcloud config representado por PROJECT_ID).

Crie o cluster

  1. Crie a variável de ambiente CLUSTER_NAME com o seguinte comando (opcional):
    export CLUSTER_NAME=cluster-name

    cluster-name é o nome que você escolhe para o cluster.

  2. Execute o comando a seguir para criar o cluster. O tipo de máquina, o número de nós e outras configurações especificadas no comando criam um cluster minimamente configurado e adequado para uma instalação de teste híbrida da Apigee.
    gcloud container clusters create $CLUSTER_NAME \
    --machine-type "e2-standard-4" --num-nodes "4" --enable-autoscaling --min-nodes "3" --max-nodes "6"

    A criação do cluster pode levar alguns minutos. Após a conclusão, o resultado será semelhante ao seguinte, com um status 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 o contexto atual

Um contexto é um grupo de parâmetros de acesso. Cada contexto contém um cluster do Kubernetes, um usuário e um namespace. O contexto atual é o cluster que é o padrão para kubectl no momento: todos os comandos kubectl são executados nesse cluster.

Verifique se o contexto gcloud atual está definido como o cluster que você acabou de criar.

  1. Primeiro, liste os contextos para determinar qual é o contexto atual. No exemplo a seguir, o contexto atual é gke_hybrid-project_us-central1_apigee-hybrid. O nome inclui o nome de um projeto do Google Cloud (hybrid-project), uma região (us-central1) e um nome de cluster (apigee-hybrid).
    kubectl config get-contexts

    Os resultados terão a aparência do exemplo a seguir:

    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. Se necessário, defina o contexto atual para o cluster que você acabou de criar (o cluster em que pretende instalar a Apigee híbrida). Usando a saída get-contexts anterior, alterne para o contexto correto da seguinte maneira:
    kubectl config use-context context

    Em que context é o nome do contexto completo do cluster como saída pelo comando get-contexts anterior. Por exemplo, gke_apigee-project_us-west1_apigee-cluster.

  3. Verifique se o contexto atual está definido como o cluster pretendido usando o seguinte comando:
    kubectl config current-context

    Exemplo:

    gke_apigee-project_us-west1_apigee-cluster

Conceder credenciais de cluster

As credenciais do cluster dão acesso aos contêineres em execução no cluster. Busque suas credenciais e conceda a si o papel cluster-admin:

  1. Para buscar as credenciais, digite este comando:
    gcloud container clusters get-credentials $CLUSTER_NAME

    Em que CLUSTER_NAME é o nome do cluster que você criou (o cluster em que você pretende instalar a Apigee híbrida).

    Uma resposta semelhante a esta será exibida:

    Fetching cluster endpoint and auth data.
    kubeconfig entry generated for example-cluster.
  2. Defina a vinculação de papel do cluster. Execute o comando a seguir exatamente como mostrado:
    kubectl create clusterrolebinding cluster-admin-binding \
    --clusterrole cluster-admin --user $(gcloud config get-value account)

    Uma resposta semelhante a esta será exibida:

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

Resumo

Agora você tem um cluster do Kubernetes em execução no projeto do Google Cloud. Seu ambiente shell está configurado e você está pronto para instalar os serviços cert-manager e istio exigidos pela Apigee híbrida na máquina local.

1 (A SEGUIR) Etapa 2: Instalar o Cert-manager e o ASM 3 4 5