Pré-requisitos para integração com o Kubernetes

Você está visualizando a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

Neste tópico, explicamos as etapas que você precisa concluir antes de instalar o Edge Microgateway como um serviço em um cluster do Kubernetes.

Este tópico aborda:

  • Os requisitos mínimos para seu cluster do Kubernetes.
  • Como instalar e configurar o Edge Microgateway.
  • Como instalar a configuração básica do Edge Microgateway no cluster do Kubernetes.

Requisitos para o cluster do Kubernetes

O cluster do Kubernetes exige:

  • Kubernetes na versão 1.9 ou mais recente.
  • Kubernetes CLI kubectl v1.9 ou mais recente.
  • Um cluster com pelo menos três nós com duas vCPUs cada.

Exemplo: como criar um cluster do Kubernetes no Google Kubernetes Engine (GKE)

Configurar a máquina de administração do Kubernetes

A máquina de administração do Kubernetes é a máquina local usada para executar comandos no cluster do Kubernetes. Essa máquina é normalmente uma máquina de área de trabalho com acesso às VMs do Kubernetes.

É necessário instalar os seguintes utilitários na máquina de administração do Kubernetes:

  • Instale a interface de linha de comando kubectl 1.9 ou mais recente.

  • (Somente GKE) Instale o gcloud se você estiver executando o Kubernetes no GKE.

Criar um cluster do Kubernetes no GKE

  1. Faça login no painel do Google Kubernetes Engine (GKE) no Google Cloud Platform (GCP).
  2. Clique em Criar cluster.
  3. Selecione Cluster padrão.
  4. Digite um nome para seu cluster.
  5. Selecione uma zona.
  6. Selecione Cluster Version 1.9.7-gke-*. Por exemplo, 1.9.7-gke.6.
  7. Selecione um tamanho de 3 nós.
  8. Selecione 2 vCPUs com 7,5 GB de memória.
  9. Clique em Criar.

    A captura de tela a seguir mostra o painel do GKE preenchido, conforme descrito nas etapas anteriores:

    Painel do GKE

Receber credenciais do cluster

  1. Defina o nome do projeto do GKE:

    gcloud config set project projectName
  2. Defina a zona do projeto do GKE:

    gcloud config set compute/zone zoneName
  3. Receba as credenciais do contêiner da gcloud:

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

    em que:

    • cluster-name é o nome do cluster do Kubernetes que você criou.
    • zone é a zona em que o cluster está localizado.
    • project-name é o nome do seu projeto do GCP.

    Exemplo:

    gcloud container clusters get-credentials edgemicrogateway-cluster --zone us-central1-a --project edgemicro-project
  4. Execute o comando a seguir exatamente como mostrado. O comando concede permissões de administrador do cluster ao usuário atual. As permissões de administrador são necessárias para criar as regras de RBAC necessárias para o serviço de microgateway do Edge:

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

Instalar o Edge Microgateway para o Kubernetes

  1. Faça o download do Edge Microgateway para o Kubernetes. Se você estiver em uma máquina MacOS ou Linux, poderá fazer o download da versão mais recente ou de uma versão específica especificando o nome dela.

    Para instalar a versão mais recente:

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

    Para acessar uma versão específica pelo número. O número da versão precisa ter o prefixo da letra "v". Por exemplo: v3.0.2

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

    Exemplo:

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s v3.0.2
  2. Mude o diretório para o diretório de instalação microgateway_Version_OS_ARCH. Exemplo:

    cd microgateway_2.5.26_Darwin_x86_64
  3. Examine o diretório de instalação:

    • /install/kubernetes: arquivos de configuração .yaml para implantação no Kubernetes.
    • /samples: exemplos de aplicativos para testar a instalação.
    • /bin: o executável edgemicroctl. O comando edgemicroctl injeta o Edge Microgateway no Kubernetes.
  4. Adicione o cliente edgemicroctl ao PATH. Por exemplo, execute o seguinte comando em um sistema MacOS ou Linux:

    export PATH=$PWD/bin:$PATH
  5. Aplique a configuração básica do Edge Microgateway ao cluster do Kubernetes. O comando a seguir cria um namespace edgemicro-system e papéis de cluster.

    kubectl apply -f install/kubernetes/edgemicro.yaml
  6. Instale o controlador de entrada NGINX no cluster. Verifique se nenhum outro controlador do NGINX está em execução. Para verificar, execute kubectl get pods.

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

Verifique a instalação

  1. Para verificar se o controlador de Ingress foi iniciado, execute o seguinte comando:

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

    Como mostra o exemplo de saída abaixo, leva um ou dois minutos para que os processos sejam iniciados. É normal que vários ciclos de erro e reinicialização aconteçam antes que o STATUS mude para 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. Quando o Ingress estiver em execução, você poderá cancelar o comando acima digitando Ctrl+C.

  3. Execute este comando para verificar se os serviços do Kubernetes estão implantados. O resultado será semelhante ao exemplo mostrado abaixo:

    kubectl get svc -n edgemicro-system
    

    Exemplo de saída:

    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. Verifique se todos os pods estão em execução:

    kubectl get pods -n edgemicro-system
    

    Exemplo de saída:

    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
    

Instalar o Edge Microgateway

  1. É necessário instalar o Edge Microgateway 2.5.26 ou uma versão mais recente. Para verificar, insira:

    edgemicro --version
  2. Se você não tiver a Microgateway do Edge 2.5.26 ou uma versão mais recente instalada, execute o script de instalação:

    npm install edgemicro -g
  3. Se você acabou de instalar o Edge Microgateway pela primeira vez ou fez upgrade dele, execute este comando:

    edgemicro init

    Se precisar de mais ajuda, consulte Como instalar a microgateway do Edge.

Próxima etapa

Agora você está pronto para implantar o Edge Microgateway no Kubernetes.