Etapa 2: instalar e configurar o GKE On-Prem

Nesta etapa, explicamos como fazer o download e instalar o apigeectl no Anthos GKE implantado na sua máquina de administração local. As etapas incluem a configuração dos diretórios de instalação, a criação de contas de serviço do GCP necessárias para a comunicação dos componentes híbridos e a criação de credenciais TLS necessárias para o funcionamento do híbrido da Apigee.

Fazer o download e instalar o apigeectl

apigeectl é a interface de linha de comando (CLI, na sigla em inglês) para instalar e gerenciar a Apigee híbrida em um cluster do Kubernetes.

Para acessar apigeectl:

  1. Faça o download do pacote de lançamento na sua máquina de administração do GKE On-Prem:

    Mac 64 bits:

    curl -LO https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.1.1/apigeectl_mac_64.tar.gz

    Linux de 64 bits

    curl -LO https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.1.1/apigeectl_linux_64.tar.gz

    Mac 32 bits:

    curl -LO https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.1.1/apigeectl_mac_32.tar.gz

    Linux de 32 bits

    curl -LO https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.1.1/apigeectl_linux_32.tar.gz
  2. Crie um diretório no seu sistema para servir como o diretório base para a instalação da Apigee híbrida.
  3. Extraia o conteúdo do arquivo gzip salvo no diretório base que você acabou de criar. Por exemplo:

    tar xvzf filename.tar.gz -C path-to-base-directory
  4. cd ao diretório base.
  5. O conteúdo de tar é, por padrão, expandido em um diretório com a versão e a plataforma no nome. Por exemplo, ./apigeectl_1.0.0-f7b96a8_linux_64. Renomeie esse diretório para apigeectl:

    mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
  6. cd no diretório. Por exemplo:
  7. cd ./apigeectl

    Este diretório será o diretório inicial apigeectl. É lá que o comando executável apigeectl está localizado.

  8. Crie uma variável de ambiente para manter esse caminho do diretório inicial:

    export APIGEECTL_HOME=$PWD

  9. Verifique se a variável contém o caminho correto:
    echo $APIGEECTL_HOME

Configurar a estrutura de diretórios do projeto

A estrutura de diretórios descrita abaixo é uma abordagem sugerida. Ela separa o software de lançamento da Apigee híbrida dos arquivos de configuração que você precisa criar. Com o uso da variável $APIGEECTL_HOME e dos links simbólicos que você cria, é possível alternar facilmente para uma nova versão de software, se você optar por isso. Consulte também Como fazer upgrade do híbrido da Apigee.

  1. Verifique se você está no diretório base (ou seja, o diretório em que o diretório apigeectl está localizado).
  2. Crie uma nova pasta chamada hybrid-files. É possível dar o nome que quiser ao diretório, mas nos documentos, o nome hybrid-files será usado de maneira consistente. Posteriormente, você armazenará arquivos de configuração, chaves de conta de serviço e certificados TLS nessa pasta. Essa pasta permite que você mantenha seus arquivos de configuração separados da instalação de software apigeectl:
    mkdir hybrid-files
  3. A estrutura de diretórios atual é assim:
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. cd na pasta hybrid-files:
    cd hybrid-files
  5. Dentro do diretório hybrid-files, crie os seguintes três subdiretórios para organizar os arquivos que você criará posteriormente:
    mkdir overrides
    mkdir service-accounts
    mkdir certs
  6. Dentro do diretório hybrid-files, crie links simbólicos para $APIGEECTL_HOME. Esses links simbólicos permitem executar o comando apigeectl a partir do diretório hybrid-files:
    ln -s $APIGEECTL_HOME/tools tools
    ln -s $APIGEECTL_HOME/config config
    ln -s $APIGEECTL_HOME/templates templates
    ln -s $APIGEECTL_HOME/plugins plugins
  7. Para verificar se os links simbólicos foram criados corretamente, execute este comando e certifique-se que os caminhos do link apontam para os locais corretos:
    ls -l | grep ^l
    

Criar contas de serviço

A Apigee híbrida usa contas de serviço do GCP para permitir que os componentes híbridos se comuniquem fazendo chamadas de API autorizadas. Nesta etapa, você usará uma ferramenta de linha de comando da Apigee híbrida para criar um conjunto de contas de serviço. A ferramenta também faz o download das chaves privadas da conta de serviço para você. Em seguida, você precisa adicionar essas chaves ao arquivo de configuração do cluster da Apigee híbrida.

Crie as chaves:

  1. Verifique se você está no diretório base_directory/hybrid-files:
  2. Execute o seguinte comando a partir do diretório hybrid-files. Esse comando cria uma conta de serviço para o componente apigee-metrics e coloca a chave baixada no diretório ./service-accounts:
    ./tools/create-service-account apigee-metrics ./service-accounts

    Quando essa solicitação aparecer, digite y:

    [INFO]: gcloud configured project ID is project_id.
     Press: y to proceed with creating service account in project: project_id
     Press: n to abort.

    Se esta for a primeira vez que uma SA com o nome exato atribuído pela ferramenta foi criada, a ferramenta apenas a criará e você não precisará fazer mais nada.

    No entanto, se você vir a seguinte mensagem e solicitação, selecione y para gerar novas chaves:

    [INFO]: Service account apigee-metrics@project_id.iam.gserviceaccount.com already exists.
    ...
     [INFO]: The service account might have keys associated with it. It is recommended to use existing keys.
     Press: y to generate new keys.(this does not de-activate existing keys)
     Press: n to skip generating new keys.
     
  3. Agora, crie o restante das contas de serviço:
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-udca ./service-accounts
    ./tools/create-service-account apigee-mart ./service-accounts
    ./tools/create-service-account apigee-cassandra ./service-accounts
    ./tools/create-service-account apigee-logger ./service-accounts
  4. Verifique se as chaves da conta de serviço foram criadas. Você é responsável por armazenar essas chaves privadas com segurança. Os nomes de arquivo das chaves são prefixados com o nome do seu projeto do GCP. Por exemplo:
    ls ./service-accounts
    gcp-project-id-apigee-cassandra.json
    gcp-project-id-apigee-logger.json
    gcp-project-id-apigee-mart.json
    gcp-project-id-apigee-metrics.json
    gcp-project-id-apigee-synchronizer.json
    gcp-project-id-apigee-udca.json

Criar certificados TLS

É necessário fornecer certificados TLS para gateways de entrada de ambiente de execução e MART na configuração da Apigee híbrida. As credenciais usadas para o gateway do MART precisam ser autorizadas por uma autoridade de certificação (CA). Para os fins deste guia de início rápido (uma instalação de teste de não produção), o gateway de ambiente de execução pode aceitar credenciais autoassinados.

Nesta etapa, você criará os arquivos de credencial de TLS e os adicionará ao diretório base_directory/hybrid-files/certs. Na Etapa 3: configurar o cluster, adicione os caminhos de arquivo ao arquivo de configuração do cluster.

Criar credenciais TLS para o gateway de ambiente de execução

O gateway de entrada de ambiente de execução (o gateway que processa o tráfego de proxy da API) exige um par de certificado/chave TLS. Para esta instalação do guia de início rápido, use credenciais autoassinadas. Nas etapas a seguir, o openssl é usado para gerar as credenciais.

  1. Verifique se você está no diretório base_directory/hybrid-files.
  2. Execute o seguinte comando a partir do diretório hybrid-files:
    openssl req  -nodes -new -x509 -keyout ./certs/keystore.key -out \
        ./certs/keystore.pem -subj '/CN=mydomain.net' -days 3650

    Esse comando cria um par de certificado/chave autoassinados que pode ser usado para a instalação do guia de início rápido. O CN mydomain.net pode ser qualquer valor pretendido para as credenciais autoassinadas.

  3. Verifique se os arquivos estão no diretório ./certs:
    ls ./certs
      keystore.pem
      keystore.key

    Em que keystore.pem é o arquivo de certificado TLS autoassinado e keystore.key é o arquivo de chave.

Criar credenciais TLS para o gateway do MART

Conforme observado em Antes de começar, você precisa usar um par TLS/chave autorizado para a configuração do gateway do MART. Se você ainda não fez isso, consiga ou crie essas credenciais agora.

  1. Consiga ou crie um par de certificado/chave de TLS que seja autorizado por uma autoridade de certificação. Veja um exemplo de como conseguir essas credenciais usando a CA do Let's Encrypt. Observe que o nome comum do certificado (CN, na sigla em inglês) precisa ser um nome DNS válido. Veja as etapas de exemplo em Receber credenciais TLS: um exemplo.
  2. Copie as credenciais para o diretório base_directory/hybrid-files/certs.
  3. Quando terminar, você terá dois pares de arquivos de credencial no diretório ./certs. Por exemplo:
    ls ./certs
      fullchain.pem
      privkey.key
      keystore.pem
      keystore.key

    Em que fullchain.pem é o arquivo de certificado TLS autorizado e privkey.key é o arquivo de chave autorizado.

Resumo

Agora você tem uma base inicial para configurar, implantar e gerenciar a Apigee híbrida no cluster do Kubernetes. Em seguida, você criará um arquivo que será usado pelo Kubernetes para implantar os componentes de ambiente de execução híbrido no cluster.

1 2 (PRÓXIMA) Etapa 3: configurar o cluster 4