Passo 3: instale o apigeectl

Este passo explica como transferir e instalar o apigeectl, configurar os diretórios de instalação e criar contas de serviço do Google Cloud e credenciais TLS necessárias para o funcionamento do Apigee hybrid.

Transfira e instale a app apigeectl

apigeectl é a interface de linhas de comando (CLI) para instalar e gerir o Apigee Hybrid num cluster do Kubernetes.

Os passos seguintes descrevem como obter apigeectl:

  1. Armazene o número da versão mais recente numa variável através do 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 através do seguinte comando. Se quiser usar uma versão diferente, pode guardá-la numa variável de ambiente.
    echo $VERSION
  3. Transfira o pacote de lançamento para o seu sistema operativo através do seguinte comando:

    Mac 64 bits:

    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 de 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 ficheiro gzip transferido para o diretório base que acabou de criar através do seguinte comando:

    tar xvzf filename.tar.gz -C path-to-base-directory
  6. Altere o diretório para o diretório base através do comando cd.
  7. Por predefinição, o conteúdo do TAR é expandido para um diretório com a versão e a plataforma no respetivo nome. Por exemplo: ./apigeectl_1.0.0-f7b96a8_linux_64. Mude o nome desse diretório para apigeectl através do seguinte comando:

    mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
  8. Altere para o diretório através do seguinte comando:
    cd ./apigeectl

    Este diretório é o apigeectldiretório inicial. É onde se encontra o comando executável apigeectl.

  9. Crie uma variável de ambiente para conter este caminho do diretório base através do seguinte comando:
    export APIGEECTL_HOME=$PWD
  10. Verifique se a variável contém o caminho correto através do seguinte comando:
    echo $APIGEECTL_HOME

Configure a estrutura de diretórios do projeto

A seguinte estrutura de diretórios é uma abordagem sugerida. Separa o software de lançamento do Apigee Hybrid dos ficheiros de configuração que tem de criar. Através da utilização da variável $APIGEECTL_HOME e das associações simbólicas que criar, pode mudar facilmente para uma nova versão do software, se quiser. Consulte também o artigo Atualizar o Apigee Hybrid.

  1. Certifique-se de que está no diretório base (o diretório onde se encontra o diretório apigeectl) através do seguinte comando:
    cd $APIGEECTL_HOME/..
  2. Crie uma nova pasta denominada hybrid-files com o seguinte comando. Pode dar ao diretório o nome que quiser, mas na documentação, o nome hybrid-files é usado de forma consistente. Posteriormente, vai armazenar ficheiros de configuração, chaves de contas de serviço e certificados TLS nesta pasta. Esta pasta permite-lhe manter os ficheiros de configuração separados da instalação do software apigeectl.
    mkdir hybrid-files
  3. A estrutura de diretórios atual tem agora o seguinte aspeto:
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. Altere o diretório para a hybrid-filespasta através do seguinte comando:
    cd hybrid-files
  5. No diretório hybrid-files, crie os seguintes subdiretórios para organizar os ficheiros que vai criar mais tarde:
    mkdir overrides
    mkdir service-accounts
    mkdir certs
  6. No diretório hybrid-files, crie os seguintes links simbólicos para $APIGEECTL_HOME. Estes links permitem-lhe executar o comando apigeectl a partir do diretório hybrid-files, como mostra o exemplo seguinte:
    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 o seguinte comando e certifique-se de que os caminhos dos links apontam para as localizações corretas:
    ls -l | grep ^l

Crie contas de serviço

O Apigee hybrid usa contas de serviço do Google Cloud para permitir que os componentes híbridos comuniquem fazendo chamadas de API autorizadas. Neste passo, usa uma ferramenta de linha de comandos híbrida do Apigee para criar um conjunto de contas de serviço. A ferramenta também transfere as chaves privadas da conta de serviço. Em seguida, tem de adicionar estas chaves ao ficheiro de configuração do cluster híbrido do Apigee.

O Apigee fornece uma ferramenta, create-service-account, que cria a conta de serviço, atribui as funções à conta de serviço e cria e transfere os ficheiros de chave para a conta de serviço num único comando. Para saber mais acerca dos conceitos relacionados do Google Cloud, consulte os artigos Criar e gerir contas de serviço e Criar e gerir chaves de contas de serviço.

  1. Certifique-se de que está no diretório base_directory/hybrid-files que configurou em Configure a estrutura de diretórios do projeto.
  2. Execute o seguinte comando a partir do diretório hybrid-files. Este comando cria uma conta de serviço para o componente apigee-metrics e coloca a chave transferida no diretório ./service-accounts.
    ./tools/create-service-account apigee-metrics ./service-accounts

    Quando vir a seguinte mensagem, introduza 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 for a primeira vez que é criado um SA com o nome exato atribuído pela ferramenta, então a ferramenta apenas o cria e não tem de fazer mais nada.

    No entanto, se vir a seguinte mensagem e comando, introduza 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 as restantes contas de serviço através dos 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 através do seguinte comando. É responsável por armazenar estas chaves privadas em segurança. Os nomes dos ficheiros das chaves têm como prefixo o nome do seu projeto do Google Cloud.
    ls ./service-accounts

    O resultado deve ter um aspeto semelhante ao seguinte:

    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 a função de administrador da organização do Apigee às apigee-org-admin contas de serviço:
  6. Verifique se o endereço de email da conta de serviço apigee-org-adminsegueservice_account@PROJECT_ID.iam.gserviceaccount.com o padrão, como mostra o exemplo seguinte:
    gcloud iam service-accounts list --filter "apigee-org-admin"
  7. Atribua a função 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

    Onde PROJECT_ID é o seu projeto do Google Cloud. Se os endereços de email da sua conta de serviço forem diferentes deste padrão, substitua-os em conformidade.

    A saída deve incluir uma lista de todas as contas de serviço e respetivas funções, incluindo o seguinte:

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

Crie certificados TLS

Tem de fornecer certificados TLS para o gateway de entrada de tempo de execução na sua configuração híbrida do Apigee. Para efeitos deste início rápido (uma instalação de avaliação não de produção), o gateway de tempo de execução pode aceitar credenciais autoassinadas. Nos passos seguintes, é usado o openssl para gerar as credenciais autoassinadas.

Neste passo, vai criar os ficheiros de credenciais TLS e adicioná-los ao diretório base_directory/hybrid-files/certs. No Passo 4: configure o cluster, vai adicionar os caminhos dos ficheiros ao ficheiro de configuração do cluster.

  1. Certifique-se de que está no diretório base_directory/hybrid-files que configurou em Configure a estrutura do diretório do projeto.
  2. Certifique-se de que o nome do domínio está guardado 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 que reservou para a sua instalação híbrida no Início rápido (híbrido) Passo 5: configure o seu DNS.

    Este comando cria um par de chaves/certificado autoassinado que pode usar para a instalação de início rápido.

  4. Verifique se os ficheiros estão no diretório ./certs através do seguinte comando:
    ls ./certs
      keystore.pem
      keystore.key

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

Agora, tem uma base a partir da qual pode configurar, implementar e gerir o Apigee hybrid no seu cluster do Kubernetes. Em seguida, vai criar um ficheiro usado pelo Kubernetes para implementar os componentes do tempo de execução híbrido no cluster.

1 2 3 (NEXT) Passo 4: configure o cluster 5