Panoramica
Questo passaggio spiega come creare gli account di servizio Google Cloud necessari per il funzionamento di Apigee hybrid e come assegnare loro i ruoli IAM appropriati.
Questa procedura utilizza le due variabili di ambiente definite nel Passaggio 2: scarica i grafici di Apigee Helm. Queste variabili sono facoltative. Se non le hai definite, sostituisci il percorso della directory appropriato per ogni variabile negli esempi di codice.
$APIGEE_HELM_CHARTS_HOME
: la directory da cui hai scaricato i grafici Helm di Apigee, definita nel Passaggio 2: scarica i grafici Helm Apigee.$PROJECT_ID
: l'ID del progetto Google Cloud definito in Parte 1: configurazione di progetti e organizzazione - Passaggio 1: abilita le API.
Ambienti di produzione e non di produzione
Questa guida si riferisce alle installazioni di produzione ("Prod") e non di produzione ("non di produzione"). Un'installazione in produzione è ottimizzata per una maggiore capacità di utilizzo, spazio di archiviazione e scalabilità. Un'installazione non in produzione utilizza meno risorse ed è principalmente a scopi di apprendimento e dimostrazione.
Quando crei e configuri gli account di servizio per Apigee hybrid, è importante conoscere il tipo di installazione che stai scegliendo come target.
Per le installazioni di produzione, consigliamo di creare un account di servizio separato per ogni componente ibrido Apigee. Ad esempio, runtime, mart, metriche, udca e così via hanno ciascuno il proprio account di servizio.
Per le installazioni non di produzione, puoi creare un singolo account di servizio applicabile a tutti i componenti.
Per saperne di più sugli account di servizio utilizzati da Apigee e sui ruoli assegnati, consulta Account di servizio e ruoli utilizzati dai componenti ibridi.
Workload Identity su GKE
Per le installazioni ibride di Apigee su GKE, Google Cloud offre un'opzione denominata identità del carico di lavoro per autenticare i componenti di runtime ibridi. Questa opzione non utilizza i file di certificati scaricati per autenticare gli account di servizio, ma associa gli account di servizio Google Cloud che crei in questo passaggio agli account di servizio Kubernetes nel cluster Kubernetes.
Workload Identity è disponibile solo sulle installazioni GKE.
Crea gli account di servizio
Apigee hybrid utilizza i seguenti account di servizio:
Produzione
Account di servizio | Ruoli IAM | Grafico Helm Apigee |
---|---|---|
apigee-cassandra |
Amministratore oggetti Storage | apigee-datastore |
apigee-logger |
Writer log | apigee-telemetry |
apigee-mart |
Agente Apigee Connect | apigee-org |
apigee-metrics |
Writer metriche Monitoring | apigee-telemetry |
apigee-runtime |
Nessun ruolo richiesto | apigee-env |
apigee-synchronizer |
Gestore sincronizzatore Apigee | apigee-env |
apigee-udca |
Agente di analisi Apigee | apigee-org |
apigee-watcher |
Agente di runtime Apigee | apigee-org |
Non di produzione
Account di servizio | Ruoli IAM | Grafico Helm Apigee |
---|---|---|
apigee-non-prod |
Amministratore oggetti Storage Writer log Agente Apigee Connect Writer metriche Monitoring Manager Sincronizzatore Apigee Agente Analytics Apigee Agente di runtime Apigee |
apigee-datastore apigee-telemetry apigee-org apigee-env |
Apigee fornisce uno strumento,
create-service-account
, nella
directory apigee-operator/etc/tools
:
$APIGEE_HELM_CHARTS_HOME/ └── apigee-operator/ └── etc/ └── tools/ └── create-service-account
Questo strumento crea gli account di servizio, assegna i ruoli IAM a ciascun account e scarica i file dei certificati in formato JSON per ogni account.
Poiché Helm non supporta il riferimento a file all'esterno della directory dei grafici, dovrai creare ogni file di certificato dell'account di servizio nella directory dei grafici per il componente ibrido corrispondente.
Per i passaggi successivi, scegli se configurare un'installazione di produzione o non di produzione.
Produzione
- Assicurati che la variabile di ambiente
PROJECT_ID
sia definita.echo $PROJECT_ID
L'elemento
create-service-account tool uses the value of the
. Se non è definito, definiscilo con l'ID del tuo ID progetto Google Cloud o aggiungi il flagPROJECT_ID
environment variable--project-id my_project_id
ai comandicreate-service-account
. -
Crea gli account di servizio con i comandi seguenti, dove
$APIGEE_HELM_CHARTS_HOME
è il percorso da cui hai scaricato i grafici Helm di Apigee. È possibile che ti venga chiesto di creare ciascun account di servizio. Rispondiy
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-cassandra \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-datastore
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-logger \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-telemetry
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-mart \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-org
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-metrics \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-telemetry
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-runtime \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-env
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-synchronizer \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-env
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-udca \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-org
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-watcher \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-org
- Verifica che i file degli account di servizio siano stati creati nelle directory corrette controllando i contenuti della directory di ogni grafico. L'output dovrebbe essere simile al seguente:
ls ./apigee-datastore
Chart.yaml my_project_id-apigee-cassandra.json templates values.yamlls ./apigee-telemetry
Chart.yaml my_project_id-apigee-logger.json my_project_id-apigee-metrics.json templates values.yamlls ./apigee-org
Chart.yaml my_project_id-apigee-udca.json templates my_project_id-apigee-mart.json my_project_id-apigee-watcher.json values.yamlls ./apigee-env
Chart.yaml my_project_id-apigee-runtime.json my_project_id-apigee-synchronizer.json templates values.yaml
Non di produzione
- Assicurati che la variabile di ambiente
PROJECT_ID
sia definita.echo $PROJECT_ID
L'elemento
create-service-account tool uses the value of the
. Se non è definito, definiscilo con l'ID del tuo ID progetto Google Cloud o aggiungi il flagPROJECT_ID
environment variable--project-id my_project_id
ai comandicreate-service-account
. -
Crea l'account di servizio con il comando seguente, dove
$APIGEE_HELM_CHARTS_HOME
è il percorso da cui hai scaricato i grafici Helm di Apigee. È possibile che ti venga chiesto di creare ciascun account di servizio. Rispondiy
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --env non-prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-datastore
- Verifica il nome del file dell'account di servizio creato nella directory
apigee-datastore
:ls $APIGEE_HELM_CHARTS_HOME/apigee-datastore
Chart.yaml my_project_id-apigee-non-prod.json templates values.yaml
- Copia il file dell'account di servizio nelle altre directory del grafico a cui dovrà fare riferimento:
cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME.json $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME.json $APIGEE_HELM_CHARTS_HOME/apigee-org/
cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME.json $APIGEE_HELM_CHARTS_HOME/apigee-env/
Per maggiori informazioni sugli account di servizio e sullo strumento create-service-account
, consulta:
Ora hai creato gli account di servizio e assegnato i ruoli richiesti dai componenti ibridi di Apigee. Poi, crea i certificati TLS richiesti dal gateway in entrata ibrido.
Passaggio successivo
1 2 3 4 (AVANTI) Passaggio 5: crea certificati TLS {/5 {/5