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

Você está lendo 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 do 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 do cluster do Kubernetes

O cluster do Kubernetes exige:

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

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 geralmente é um computador desktop que tem 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 a 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 três nós.
  8. Selecione duas 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 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 de 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 Edge Microgateway:

    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 receber a versão mais recente:

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

    Para receber uma versão específica pelo número da versão. O número da versão precisa ser prefixado com a 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. Por exemplo:

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

    • /install/kubernetes - arquivos .yaml de configuração para implantação no Kubernetes.
    • /samples - aplicativos de exemplo 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 seu PATH. Por exemplo, execute o comando a seguir 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 do NGINX no cluster. Verifique se nenhum outro controlador Nginix 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 entrada foi iniciado, execute o seguinte comando:

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

    Como a saída de exemplo a seguir mostra, leva um ou dois minutos para que os processos sejam iniciados. É normal ver vários ciclos de erro e reinicialização 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. Você verá uma saída semelhante à saída de exemplo mostrada 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 ter o Edge Microgateway 2.5.26 ou uma versão mais recente instalada. Para verificar, digite:

    edgemicro --version
  2. Se você não tiver o Edge Microgateway 2.5.26 ou mais recente instalado, 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 você precisar de mais ajuda, consulte Instalar o Edge Microgateway.

Próxima etapa

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