Etapa 3: instalar a apigeectl

Esta etapa explica como fazer o download e instalar o apigeectl. As etapas incluem a configuração dos diretórios de instalação, a criação de contas de serviço do Google Cloud necessárias para a comunicação de componentes híbridos e a criação de credenciais TLS necessárias para o funcionamento do Apigee híbrido.

Para mais informações sobre como usar apigeectl e kubectl para gerenciar clusters, consulte Como se conectar ao cluster com a kubectl

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. Armazene o número da versão mais recente em uma variável usando o seguinte comando:
    export VERSION=$(curl -s \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
  2. Verifique se a variável foi preenchida com um número de versão usando o seguinte comando: Se você quiser usar uma versão diferente, salve-a em uma variável de ambiente.
    echo $VERSION
  3. 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/$VERSION/apigeectl_mac_64.tar.gz

    Linux de 64 bits:

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

    Mac 32 bits:

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

    Linux de 32 bits:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
  4. Crie um diretório no seu sistema para servir como o diretório base para a instalação do Apigee Hybrid.
  5. Extraia o conteúdo do arquivo gzip salvo para o diretório base que você acabou de criar usando o seguinte comando:

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

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

  9. Crie uma variável de ambiente para manter esse caminho do diretório inicial usando o seguinte comando:
    export APIGEECTL_HOME=$PWD
  10. 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ório a seguir é uma abordagem sugerida. Ele separa o software de lançamento do Apigee Hybrid 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 Apigee Hybrid.

  1. Verifique se você está no diretório base (o diretório onde o diretório apigeectl está localizado) usando o seguinte comando:
    cd $APIGEECTL_HOME/..
  2. Crie uma nova pasta chamada hybrid-files usando o seguinte comando. É 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. Dentro do diretório hybrid-files, crie os seguintes 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 os seguintes links simbólicos para $APIGEECTL_HOME. Esses links permitem que você execute o comando apigeectl a partir do diretório hybrid-files, como no exemplo a seguir:
    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

O Apigee Hybrid 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 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 do Apigee Hybrid.

A Apigee fornece uma ferramenta, create-service-account, que cria a conta de serviço, atribui os papéis à conta de serviço e cria e faz o download dos arquivos de chave para a conta de serviço em um único comando. Para saber mais sobre os conceitos relacionados do Google Cloud, consulte Como criar e gerenciar contas de serviço e Como criar e gerenciar chaves da conta de serviço.

  1. Verifique se você está no diretório base_directory/hybrid-files configurado em Configurar a estrutura de diretórios do projeto.
  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: O comando create-service-account é interativo e requer uma resposta para cada conta:
    ./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
    ./tools/create-service-account apigee-watcher ./service-accounts
  4. Verifique se as chaves da conta de serviço foram criadas usando o seguinte comando: 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.
    ls ./service-accounts

    O resultado será similar a este:

    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
    gcp-project-id-apigee-watcher.json
  5. Atribua o papel de Administrador da organização do Apigee às contas de serviço apigee-org-admin:
  6. Verifique se o endereço de e-mail da conta de serviço apigee-org-admin segue o padrão service_account@PROJECT_ID.iam.gserviceaccount.com, como mostra o exemplo a seguir:
    gcloud iam service-accounts list --filter "apigee-org-admin"
  7. Atribua o papel com o seguinte comando:
    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com --role roles/apigee.admin

    Em que PROJECT_ID é seu projeto do Google Cloud. Se os endereços de e-mail da sua conta de serviço forem diferentes desse padrão, substitua-os.

    A saída precisa incluir uma lista de todas as contas de serviço e os respectivos papéis, incluindo:

    - members:
      - serviceAccount:apigee-org-admin@hybrid-example-2.iam.gserviceaccount.com
      role: roles/apigee.admin

Criar certificados TLS

É necessário fornecer certificados TLS para o gateway de entrada do ambiente de execução na configuração do Apigee Hybrid. 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 autoassinadas. Nas etapas a seguir, o openssl é usado para gerar as credenciais autoassinadas.

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

  1. Verifique se você está no diretório base_directory/hybrid-files configurado em Configurar a estrutura de diretórios do projeto.
  2. Verifique se o nome de domínio foi salvo na variável de ambiente DOMAIN usando o seguinte comando:
    echo $DOMAIN
  3. 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='$DOMAIN'' -days 3650

    Em que DOMAINé o domínio reservado para a instalação híbrida no Guia de início rápido (híbrido) Etapa 5: configure o DNS.

    Esse comando cria um certificado autoassinado/par de chaves que podem ser usados para a instalação do guia de início rápido.

  4. 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.

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

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