Etapa 2: instalar e configurar o GKE

Esta etapa explica como fazer o download e instalar o apigeectl, configurar os diretórios de instalação e criar contas de serviço do GCP e credenciais TLS necessárias para o Apigee híbrido operar.

Fazer o download e instalar apigeectl

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

As etapas a seguir descrevem como conseguir apigeectl:

  1. Faça o download do pacote de lançamento do seu sistema operacional usando o seguinte comando:

    Mac 64 bit:

    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 do híbrido da Apigee.
  3. Extraia o conteúdo do arquivo gzip salvo no diretório base que você acabou de criar. Exemplo:

    tar xvzf filename.tar.gz -C path-to-base-directory
  4. Altere o diretório para o 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 usando o seguinte comando:

    mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
  6. Altere o diretório para o diretório. Exemplo:
    cd ./apigeectl

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

  7. Crie uma variável de ambiente para manter esse caminho do diretório inicial usando o seguinte comando:
    export APIGEECTL_HOME=$PWD
  8. Verifique se a variável contém o caminho correto usando o seguinte comando:
    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 criados por você, você pode alternar facilmente para uma nova versão do software. 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 nomear o diretório como quiser, mas, nos documentos, o nome hybrid-files é 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ório atual agora é assim:
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. Altere o diretório na pasta hybrid-files usando o seguinte comando:
    cd hybrid-files
  5. No diretório hybrid-files, crie os subdiretórios a seguir para organizar os arquivos que você criará posteriormente usando os seguintes comandos:
    mkdir overrides
    mkdir service-accounts
    mkdir certs
  6. Dentro do diretório hybrid-files, crie os seguintes links simbólicos para $APIGEECTL_HOME. Esses links permitem que você execute 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 de 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 Google Cloud para permitir que os componentes híbridos se comuniquem fazendo chamadas de API autorizadas. Nesta etapa, você usará uma ferramenta de linha de comando do híbrido da Apigee 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 no 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 o seguinte prompt 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.

    Se, no entanto, você vir a mensagem e o prompt a seguir, digite 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 usando os seguintes comandos:
    ./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 dos arquivos da chave são prefixados com o nome do seu projeto do Google Cloud. 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 no 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 você pode usar 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 usando o seguinte comando:
    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