Attivare l'accesso al sincronizzatore
Per attivare l'accesso al sincronizzatore:
- Crea un account di servizio Google Cloud e aggiungici il ruolo Amministratore dell'organizzazione Apigee. Questo account di servizio verrà utilizzato per autenticare una chiamata API che effettuerai
in un passaggio successivo. Un modo semplice per creare l'account di servizio è tramite la console di GCP.
Per istruzioni, vedi
Creazione e gestione dei service account nella documentazione di GCP.
Ad esempio, i seguenti comandi
gcloudcreeranno il account di servizio e gli assegneranno il ruolo Amministratore organizzazione Apigee:- Crea l'account:
gcloud iam service-accounts create apigee-org-admin \ --display-name="apigee-org-admin"dove apigee-org-admin è il nome del account di servizio che stai creando. Per questo tutorial è consigliato l'utilizzo di "
apigee-org-admin". - Assegna il ruolo Amministratore dell'organizzazione Apigee all'account di servizio:
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 nome del progetto Google Cloud che hai creato nel passaggio 2: crea un progetto Google Cloud.
- apigee-org-admin è il nome del account di servizio che hai appena creato.
- roles/apigee.admin è il ruolo Amministratore organizzazione Apigee.
- Crea l'account:
- Scarica la chiave del account di servizio sul tuo sistema. Utilizza questo comando per scaricare la chiave nella directory
service-accounts/. Per ulteriori informazioni, consulta le istruzioni riportate nella sezione Creazione di account di servizio account nella documentazione di Google Cloud.- Assicurati di trovarti nella directory
/hybrid-base-directory/hybrid-files/. - Scarica la chiave:
gcloud iam service-accounts keys create ./service-accounts/$PROJECT_ID-apigee-org-admin.json \ --iam-account apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com
L'output dovrebbe essere simile al seguente:
created key [a0b1c2d3e4f5a0b1c2d3e4f5a0b1c2d3e4f5a0b1] of type [json] as [./service-accounts/hybrid- example-apigee-org-admin.json] for [apigee-org-admin@my-hybrid.iam.gserviceaccount.com] $
- Assicurati di trovarti nella directory
- Verifica il percorso della chiave dell'account di servizio Apigee Org Admin con questo comando:
ls service-accounts/*admin*
Il risultato dovrebbe essere simile al seguente:
service-accounts/hybrid-example-apigee-org-admin.json
- Crea una variabile di ambiente ORG_ADMIN_ACCOUNT con il nome del file della chiave.
Ad esempio:
export ORG_ADMIN_ACCOUNT="hybrid-example-2-apigee-org-admin.json"
- Esegui questi comandi per ottenere un token:
export GOOGLE_APPLICATION_CREDENTIALS=./service-accounts/$ORG_ADMIN_ACCOUNTexport TOKEN=$(gcloud auth application-default print-access-token) - Recupera l'indirizzo email del tuo account di servizio
apigee-synchronizercon il seguente comando:gcloud iam service-accounts list --filter "apigee-synchronizer"
Se corrisponde al pattern
apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com, puoi utilizzarlo nel passaggio successivo. - Chiama l'API setSyncAuthorization per
abilitare le autorizzazioni richieste per Synchronizer utilizzando il seguente comando:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:setSyncAuthorization" \ -d '{"identities":["'"serviceAccount:apigee-synchronizer@$ORG_NAME.iam.gserviceaccount.com"'"]}'Dove:
$ORG_NAME: il nome della tua organizzazione ibrida.apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com: l'indirizzo email del account di servizio apigee-syncnronizer.
- Per verificare che il account di servizio sia stato impostato, utilizza il seguente comando per chiamare l'API e ottenere
un elenco di service account:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:getSyncAuthorization" \ -d ''
L'output è simile al seguente:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
Applica la configurazione al cluster.
Per installare Apigee hybrid nel cluster:
- Assicurati di trovarti nella directory
hybrid-base-directory/hybrid-files. - Verifica che
kubectlsia impostato sul contesto corretto utilizzando il seguente comando. Il contesto attuale deve essere impostato sul cluster in cui stai eseguendo il deployment di Apigee hybrid.kubectl config get-contexts
- Verifica che la variabile
KUBECONFIGsia impostata utilizzando il seguente comando. In caso contrario, consulta la sezione Prerequisiti.echo $KUBECONFIG
- Esegui l'inizializzazione di un dry run. Esegui il comando
initcon il flag--dry-run. L'esecuzione di una prova generale consente di verificare la presenza di errori prima che vengano apportate modifiche al cluster.Nella versione ibrida 1.3, la sintassi del flag
--dry-rundipende dalla versione dikubectlin esecuzione. Controlla la versione dikubectlcon il seguente comando:kubectl version
kubectlversione 1.17 e precedenti:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=true
kubectlversione 1.18 e successive:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=client
- Se non sono presenti errori, esegui il comando
initcome segue:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml
Il comando
initinstalla Apigee deployment services, Apigee Deployment Controller e Apigee Admission Webhook. - Per controllare lo stato del deployment, puoi utilizzare i seguenti comandi:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yamlkubectl get pods -n apigee-systemkubectl get pods -n istio-systemQuando i pod sono pronti, vai al passaggio successivo.
- Esegui un'installazione dry run. Esegui il comando
applycon il flag--dry-run.kubectlversione 1.17 e precedenti:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
kubectlversione 1.18 e successive:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=client
-
Se non ci sono errori, puoi applicare i
componenti di runtime specifici di Apigee al cluster con il seguente comando:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
- Per controllare lo stato del deployment, esegui questo comando:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
Ripeti questo passaggio finché tutti i pod non sono pronti. L'avvio dei pod potrebbe richiedere diversi minuti.
Abilitare Apigee Connect
Apigee Connect gestisce la comunicazione tra il piano di gestione Apigee e MART nel piano di runtime. Per saperne di più, consulta Utilizzo di Apigee Connect.
Per abilitare Apigee Connect:
-
Nella riga di comando, recupera le credenziali di autenticazione
gcloud, come mostrato nell'esempio seguente:TOKEN=$(gcloud auth print-access-token)
Per verificare che il token sia stato compilato, utilizza
echo, come mostrato nell'esempio seguente:echo $TOKEN
Dovrebbe essere visualizzato il token come stringa codificata.
Per saperne di più, consulta la panoramica dello strumento a riga di comando gcloud.
- Utilizza il seguente comando per verificare se Apigee Connect è abilitato per la tua organizzazione.
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
dove $ORG_NAME è l'ID della tua organizzazione.
Se l'output contiene quanto segue:
"name" : "features.mart.connect.enabled", "value" : "true"Apigee Connect è abilitato e puoi saltare il resto di questa sezione.
- Abilita Apigee Connect con il seguente comando:
curl -H "Authorization: Bearer $TOKEN" -X PUT \ -H "Content-Type: application/json" \ -d '{ "name" : "'"$ORG_NAME"'", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.connect.enabled", "value" : "true" } ] } }' \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"Se l'output contiene le seguenti proprietà, Apigee Connect è stato abilitato correttamente:
{ "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" }L'output dovrebbe essere simile al seguente:
{ "name": "hybrid-example-2", "createdAt": "1594409699772", "lastModifiedAt": "1594776283697", "environments": [ "example-env" ], "properties": { "property": [ { "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" } ] }, "analyticsRegion": "us-central1", "runtimeType": "HYBRID", "subscriptionType": "TRIAL" }