Questo passaggio spiega come scaricare e installare apigeectl, configurare le directory di installazione e creare account di servizio Google Cloud e credenziali TLS necessarie per il funzionamento di Apigee hybrid.
Scarica e installa apigeectl
apigeectl
è l'interfaccia a riga di comando (CLI) per installare e gestire Apigee Hybrid in un cluster Kubernetes.
I passaggi riportati di seguito descrivono come ottenere apigeectl
:
-
Memorizza il numero della versione più recente in una variabile utilizzando il seguente comando:
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
-
Verifica che la variabile sia stata compilata con un numero di versione utilizzando il seguente comando. Se
vuoi utilizzare una versione diversa, puoi salvarla in una variabile di ambiente.
echo $VERSION
-
Scarica il pacchetto della release per il tuo sistema operativo utilizzando il seguente comando:
Mac 64 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz
Linux a 64 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz
Mac a 32 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_32.tar.gz
Linux a 32 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
- Crea una directory sul sistema da utilizzare come directory di base per l'installazione di Apigee hybrid.
-
Estrai i contenuti del file gzip scaricato nella directory di base appena creata utilizzando il seguente comando:
tar xvzf filename.tar.gz -C path-to-base-directory
-
Cambia directory nella directory di base utilizzando il comando
cd
. -
Per impostazione predefinita, i contenuti del file tar vengono espansi in una directory con la versione e la piattaforma nel nome. Ad esempio:
./apigeectl_1.0.0-f7b96a8_linux_64
. Rinomina la directory inapigeectl
utilizzando il seguente comando:mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
-
Passa alla directory utilizzando il seguente comando:
cd ./apigeectl
Questa directory è la home directory di
apigeectl
. È la posizione del comando eseguibileapigeectl
. -
Crea una variabile di ambiente per contenere il percorso della home directory utilizzando il seguente comando:
export APIGEECTL_HOME=$PWD
-
Verifica che la variabile contenga il percorso corretto utilizzando il seguente comando:
echo $APIGEECTL_HOME
Configura la struttura della directory del progetto
La seguente struttura di directory è un approccio suggerito. Separa il software di rilascio di Apigee hybrid dai file di configurazione che devi creare. Tramite l'uso della variabile $APIGEECTL_HOME
e dei link simbolici che crei, puoi passare facilmente a una nuova versione del software, se vuoi. Consulta anche Eseguire l'upgrade di Apigee hybrid.
-
Assicurati di essere nella directory di base (la directory in cui si trova la directory
apigeectl
) utilizzando il seguente comando:cd $APIGEECTL_HOME/..
-
Crea una nuova cartella denominata
hybrid-files
utilizzando il seguente comando. Puoi assegnare alla directory il nome che preferisci, ma nei documenti viene utilizzato in modo coerente il nomehybrid-files
. In un secondo momento, in questa cartella memorizzerai i file di configurazione, le chiavi dell'account di servizio e i certificati TLS. Questa cartella ti consente di tenere separati i file di configurazione dall'installazione del softwareapigeectl
.mkdir hybrid-files
-
La struttura di directory attuale ora è la seguente:
pwd && ls
/hybrid-base-directory apigeectl hybrid-files -
Cambia la directory nella cartella
hybrid-files
utilizzando il seguente comando:cd hybrid-files
-
All'interno della directory
hybrid-files
, crea le seguenti sottodirectory per organizzare i file che creerai in un secondo momento:mkdir overrides
mkdir service-accounts
mkdir certs
-
All'interno della directory
hybrid-files
, crea i seguenti link simbolici a$APIGEECTL_HOME
. Questi link ti consentono di eseguire il comandoapigeectl
dall'interno della directoryhybrid-files
, come mostrato nell'esempio seguente:ln -s
$APIGEECTL_HOME
/tools toolsln -s
$APIGEECTL_HOME
/config configln -s
$APIGEECTL_HOME
/templates templatesln -s
$APIGEECTL_HOME
/plugins plugins -
Per verificare che i link simbolici siano stati creati correttamente, esegui il seguente comando e assicurati che i percorsi dei link rimandino alle posizioni corrette:
ls -l | grep ^l
Creazione di account di servizio
Apigee Hybrid utilizza gli account di servizio Google Cloud per consentire ai componenti ibride di comunicare effettuando chiamate API autorizzate. In questo passaggio, utilizzi uno strumento a riga di comando Apigee hybrid per creare un insieme di account di servizio. Lo strumento scarica anche le chiavi private dell'account di servizio. Devi quindi aggiungere queste chiavi al file di configurazione del cluster ibrido Apigee.
Apigee fornisce uno strumento, create-service-account
, che crea l'account di servizio, assegna i ruoli all'account di servizio e crea e scarica i file delle chiavi per l'account di servizio in un unico comando. Per informazioni sui concetti di Google Cloud correlati, consulta Creare e gestire gli account di servizio e Creare e gestire le chiavi degli account di servizio.
-
Assicurati di trovarti nella directory
base_directory/hybrid-files
configurata in Configurare la struttura della directory del progetto. -
Esegui il seguente comando dalla directory
hybrid-files
. Questo comando crea un account di servizio per il componenteapigee-metrics
e posiziona la chiave scaricata nella directory./service-accounts
../tools/create-service-account apigee-metrics ./service-accounts
Quando viene visualizzato il seguente prompt, inserisci 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 è la prima volta che viene creato un SA con il nome esatto assegnato dallo strumento, lo strumento lo crea e non devi fare altro.
Se, invece, visualizzi il seguente messaggio e prompt, inserisci y per generare nuove chiavi:
[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.
-
Ora crea il resto degli account di servizio utilizzando i seguenti comandi. Il comando
create-service-account
è interattivo e richiede una risposta per ogni account../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
-
Verifica che le chiavi dell'account di servizio siano state create utilizzando il seguente comando. Sei responsabile di conservare queste
chiavi private in modo sicuro. I nomi file delle chiavi sono preceduti dal nome del progetto Google Cloud.
ls ./service-accounts
Il risultato dovrebbe essere simile al seguente:
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
-
Assegna il ruolo Amministratore dell'organizzazione Apigee agli account di servizio
apigee-org-admin
: -
Verifica che l'indirizzo email dell'account di servizio
apigee-org-admin
rispetti il patternservice_account@PROJECT_ID.iam.gserviceaccount.com
come mostrato nell'esempio seguente:gcloud iam service-accounts list --filter "apigee-org-admin"
-
Assegna il ruolo con il seguente comando:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com --role roles/apigee.admin
dove PROJECT_ID è il tuo progetto Google Cloud. Se gli indirizzi email degli account di servizio differiscono da questo pattern, sostituiscili di conseguenza.
L'output deve includere un elenco di tutti gli account di servizio e dei relativi ruoli, inclusi i seguenti:
- members: - serviceAccount:apigee-org-admin@hybrid-example-2.iam.gserviceaccount.com role: roles/apigee.admin
Crea certificati TLS
Devi fornire i certificati TLS per il gateway di ingresso di runtime nella configurazione ibrida di Apigee. Ai fini di questa guida rapida (un'installazione di prova non di produzione), il gateway di runtime può accettare credenziali autofirmate. Nei passaggi successivi, viene utilizzato openssl per generare le credenziali autofirmate.
In questo passaggio, creerai i file delle credenziali TLS e li aggiungerai alla directory base_directory/hybrid-files/certs
.
In
Passaggio 4: configura il cluster,
aggiungi i percorsi dei file al file di configurazione del cluster.
- Assicurati di trovarti nella directory
base_directory/hybrid-files
configurata in Configurare la struttura della directory del progetto. - Assicurati che il nome di dominio sia salvato nella variabile di ambiente
DOMAIN
utilizzando il seguente comando:echo $DOMAIN
-
Esegui il seguente comando dalla directory
hybrid-files
:openssl req -nodes -new -x509 -keyout ./certs/keystore.key -out \ ./certs/keystore.pem -subj '/CN='$DOMAIN'' -days 3650
dove
DOMAIN
è il dominio che hai riservato per l'installazione ibrida in Passaggio 5 della configurazione rapida (ibrida): configura il DNS.Questo comando crea una coppia di chiavi/certificati autofirmati che puoi utilizzare per l'installazione guidata.
-
Verifica che i file siano nella directory
./certs
utilizzando il seguente comando:ls ./certs
keystore.pem keystore.keydove
keystore.pem
è il file del certificato TLS autofirmato ekeystore.key
è il file della chiave.
Ora hai una base di partenza da cui puoi configurare, eseguire il deployment e gestire Apigee hybrid nel tuo cluster Kubernetes. Successivamente, creerai un file utilizzato da Kubernetes per eseguire il deployment dei componenti di runtime ibrida nel cluster.
1 2 3 (AVANTI) Passaggio 4: configura il cluster 5