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
:
-
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)
-
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
-
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
- 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 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
-
Altere o diretório para o diretório base através do comando
cd
. -
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 paraapigeectl
através do seguinte comando:mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
-
Altere para o diretório através do seguinte comando:
cd ./apigeectl
Este diretório é o
apigeectl
diretório inicial. É onde se encontra o comando executávelapigeectl
. -
Crie uma variável de ambiente para conter este caminho do diretório base através do seguinte comando:
export APIGEECTL_HOME=$PWD
-
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.
-
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/..
-
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 nomehybrid-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 softwareapigeectl
.mkdir hybrid-files
-
A estrutura de diretórios atual tem agora o seguinte aspeto:
pwd && ls
/hybrid-base-directory apigeectl hybrid-files -
Altere o diretório para a
hybrid-files
pasta através do seguinte comando:cd hybrid-files
-
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
-
No diretório
hybrid-files
, crie os seguintes links simbólicos para$APIGEECTL_HOME
. Estes links permitem-lhe executar o comandoapigeectl
a partir do diretóriohybrid-files
, como mostra o exemplo seguinte: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 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.
-
Certifique-se de que está no diretório
base_directory/hybrid-files
que configurou em Configure a estrutura de diretórios do projeto. -
Execute o seguinte comando a partir do diretório
hybrid-files
. Este comando cria uma conta de serviço para o componenteapigee-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.
-
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
-
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
-
Atribua a função de administrador da organização do Apigee às
apigee-org-admin
contas de serviço: -
Verifique se o endereço de email da conta de serviço
apigee-org-admin
segueservice_account@PROJECT_ID.iam.gserviceaccount.com
o padrão, como mostra o exemplo seguinte:gcloud iam service-accounts list --filter "apigee-org-admin"
-
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.
- Certifique-se de que está no diretório
base_directory/hybrid-files
que configurou em Configure a estrutura do diretório do projeto. - Certifique-se de que o nome do domínio está guardado 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 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.
-
Verifique se os ficheiros estão no diretório
./certs
através do seguinte comando:ls ./certs
keystore.pem keystore.keyEm que
keystore.pem
é o ficheiro de certificado TLS autoassinado ekeystore.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