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

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Neste tópico, explicamos as etapas que você precisa concluir antes de instalar o Edge Microgateway como 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 seu cluster do Kubernetes.

Requisitos para o cluster do Kubernetes

Seu cluster do Kubernetes exige:

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

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

Configurar sua 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. Ela geralmente é uma máquina desktop com acesso às suas VMs do Kubernetes.

Você precisa 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 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 as credenciais do cluster

  1. Defina o nome do projeto do GKE:

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

    gcloud config set compute/zone zoneName
  3. Consiga as gcloud container credentials:

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

    onde:

    • 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 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 do 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. Fazer 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 determinada versão especificando o nome da versão.

    Para instalar a versão mais recente:

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

    Para obter uma versão específica pelo número de versão. Observe que 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. Altere o diretório para o 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 .yaml de configuração para implantação no Kubernetes.
    • /samples: aplicativos de amostra para testar a instalação.
    • /bin: 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. Aplicar 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. Instalar 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 do Ingress foi iniciado, execute o seguinte comando:

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

    Como mostrado na amostra de saída a seguir, os processos levam um ou dois minutos para serem iniciados. É normal ver vários ciclos de erro e reinicialização antes que 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, será possível cancelar o comando acima digitando Ctrl+C.

  3. Execute este comando para verificar se os serviços do Kubernetes foram 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. É preciso ter o Edge Microgateway 2.5.26 ou uma versão mais recente instalada. Para verificar, insira:

    edgemicro --version
  2. Se você não tiver o Edge Microgateway 2.5.26 ou posterior instalado, execute o script de instalação:

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

    edgemicro init

    Se precisar de mais ajuda, consulte Como instalar o Edge Microgateway.

Próxima etapa

Agora você já pode implantar o Edge Microgateway no Kubernetes.