Nesta etapa, explicamos como fazer o download e instalar o apigeectl (em inglês) no Anthos GKE na máquina do administrador da AWS. 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.
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
:
-
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)
-
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
-
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
- Crie um diretório no seu sistema para servir como o diretório base para a instalação do Apigee Hybrid.
-
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
-
Altere o diretório para o diretório base usando o comando
cd
. -
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 paraapigeectl
usando o seguinte comando:mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
-
Mude para o diretório usando o seguinte comando:
cd ./apigeectl
Esse diretório é o diretório inicial
apigeectl
. É lá que o comando executávelapigeectl
está localizado. -
Crie uma variável de ambiente para manter esse caminho do diretório inicial usando o seguinte comando:
export APIGEECTL_HOME=$PWD
-
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.
-
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/..
-
Crie uma nova pasta chamada
hybrid-files
usando o seguinte comando. É possível nomear o diretório como quiser, mas, nos documentos, o nomehybrid-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 softwareapigeectl
:mkdir hybrid-files
-
A estrutura de diretório atual agora é assim:
pwd && ls
/hybrid-base-directory apigeectl hybrid-files -
Altere o diretório na pasta
hybrid-files
usando o seguinte comando:cd hybrid-files
-
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
-
Dentro do diretório
hybrid-files
, crie os seguintes links simbólicos para$APIGEECTL_HOME
. Esses links permitem que você execute o comandoapigeectl
a partir do diretóriohybrid-files
, como no exemplo a seguir:ln -s
$APIGEECTL_HOME
/tools toolsln -s
$APIGEECTL_HOME
/config configln -s
$APIGEECTL_HOME
/templates templatesln -s
$APIGEECTL_HOME
/plugins plugins -
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.
-
Verifique se você está no diretório
base_directory/hybrid-files
configurado em Configurar a estrutura de diretórios do projeto. -
Execute o seguinte comando no diretório
hybrid-files
. Esse comando cria uma conta de serviço para o componenteapigee-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.
-
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
-
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
-
Atribua o papel de Administrador da organização do Apigee às contas de serviço
apigee-org-admin
: -
Verifique se o endereço de e-mail da conta de serviço
apigee-org-admin
segue o padrãoservice_account@PROJECT_ID.iam.gserviceaccount.com
, como mostra o exemplo a seguir:gcloud iam service-accounts list --filter "apigee-org-admin"
-
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.
- Verifique se você está no diretório
base_directory/hybrid-files
configurado em Configurar a estrutura de diretórios do projeto. - Verifique se o nome de domínio foi salvo na variável
de ambiente
DOMAIN
usando o seguinte comando:echo $DOMAIN
-
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.
-
Verifique se os arquivos estão no diretório
./certs
usando o seguinte comando:ls ./certs
keystore.pem keystore.keyEm que
keystore.pem
é o arquivo de certificado TLS autoassinado ekeystore.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