Installazione e gestione di Apigee hybrid con i grafici Helm
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questo documento ti guida passo passo nella procedura di installazione di
Apigee hybrid v1.10 utilizzando i grafici Helm.
I grafici Helm non supportano completamente le CRD, pertanto utilizzeremo il comando
kubectl -k per installarle e aggiornarle.
Il nostro obiettivo è seguire le best practice della community e di Google in merito alla gestione di Kubernetes. I deployment di CRD tramite Helm non hanno ancora raggiunto uno stato della community in cui vediamo un ampio supporto o richieste per un modello di questo tipo. Pertanto,
la gestione delle CRD Apigee deve essere eseguita utilizzando kubectl come
indicato in questo documento.
In apigeectl, abbiamo utilizzato file in tutto
overrides.yaml per service account e certificati; tuttavia, Helm
non supporta il riferimento a file al di fuori della directory del grafico. Scegli una
delle seguenti opzioni per i file di account di servizio e certificato:
Inserisci copie dei file pertinenti in ogni directory del grafico
Crea link simbolici all'interno di ogni directory del grafico per ogni file o cartella. Helm seguirà i link simbolici al di fuori della directory del grafico, ma
mostrerà un avviso come il seguente: apigee-operator/gsa -> ../gsa
Utilizza i secret di Kubernetes. Ad esempio, per i service account:
Questa tabella elenca le risorse e le autorizzazioni richieste per Kubernetes e
Apigee.
Per filtrare questa tabella, esegui una o più delle seguenti operazioni: seleziona una categoria,
digita un termine di ricerca o fai clic sull'intestazione di una colonna per ordinare.
L'installazione dei componenti viene eseguita da sinistra a destra in sequenza, come mostrato nella figura seguente. I componenti impilati verticalmente nella figura possono essere installati insieme e in qualsiasi ordine.
Una volta installato un componente, puoi aggiornarlo
singolarmente e in qualsiasi momento, ad esempio replica, memoria, CPU e così via.
Preparati a installare Apigee hybrid con i grafici Helm
Crea lo spazio dei nomi che verrà utilizzato per le risorse apigee.
Deve corrispondere al campo dello spazio dei nomi nel file overrides.yaml. Se non è presente in overrides.yaml, il valore
predefinito è apigee.
Verifica se lo spazio dei nomi esiste già:
kubectl get namespace apigee
Se lo spazio dei nomi esiste, l'output include:
NAME STATUS AGE
apigee Active 1d
Se lo spazio dei nomi non esiste già, crealo:
kubectl create namespace apigee
Crea lo spazio dei nomi apigee-system utilizzato dalle risorse dell'operatore Apigee.
Verifica se lo spazio dei nomi esiste già:
kubectl get namespace apigee-system
Se lo spazio dei nomi non esiste già, crealo:
kubectl create namespace apigee-system
Crea i service account e assegna loro i ruoli IAM appropriati. Apigee Hybrid utilizza i seguenti service account:
Service account
Ruoli IAM
apigee-cassandra
Storage Object Admin
apigee-logger
Logs Writer
apigee-mart
Apigee Connect Agent
apigee-metrics
Monitoring Metric Writer
apigee-runtime
Nessun ruolo richiesto
apigee-synchronizer
Apigee Synchronizer Manager
apigee-udca
Apigee Analytics Agent
apigee-watcher
Apigee Runtime Agent
Apigee fornisce uno strumento,
create-service-account, nella directory
apigee-operator/etc/tools:
Questo strumento crea i service account, assegna i ruoli IAM a
ogni account e scarica i file dei certificati in formato JSON per
ogni account.
Crea la directory in cui vuoi scaricare i file dei certificati del account di servizio. Specificherai questo valore nel comando seguente al posto di SERVICE_ACCOUNTS_PATH.
Puoi creare tutti i service account con un unico comando con
le seguenti opzioni:
Se l'output non include l'ID account di servizio, abilita
l'accesso al sincronizzatore. Per eseguire questa attività, il tuo account deve disporre del
ruolo IAM Amministratore organizzazione Apigee
(roles/apigee.admin).
Controlla le etichette esistenti sui nodi del cluster.
Per impostazione predefinita, Apigee pianifica i pod di dati sui nodi con l'etichetta
cloud.google.com/gke-nodepool=apigee-data e i pod di runtime
vengono pianificati sui nodi con l'etichetta
cloud.google.com/gke-nodepool=apigee-runtime. Puoi
personalizzare le etichette del pool di nodi nel file overrides.yaml.
Verifica che sia attivo e in esecuzione controllando lo stato dell'ambiente corrispondente:
kubectl -n apigee get apigeeenv
NAME STATE AGE GATEWAYTYPE
apigee-org1-dev-xxx running 2d
Crea i certificati TLS. Devi fornire i certificati TLS per il gateway in entrata di runtime nella configurazione Apigee hybrid.
Crea i certificati. In un ambiente di produzione, dovrai utilizzare certificati firmati. Puoi utilizzare una coppia di certificato e chiave o un secret Kubernetes.
Per l'installazione di dimostrazione e test, il gateway di runtime
può accettare credenziali autofirmate. Nell'esempio seguente,
openssl viene
utilizzato per generare le credenziali autofirmate:
Devi installare un gruppo di ambienti (virtualhost) alla volta. Specifica il gruppo di ambienti con --set envgroup=ENV_GROUP_NAME:
# repeat the following command for each env group mentioned in the overrides.yaml file
helm upgrade apigee-virtualhost-ENV_GROUP_NAME apigee-virtualhost/ \
--install \
--namespace apigee \
--atomic \
--set envgroup=ENV_GROUP_NAME \
-f overrides.yaml
Viene creato ApigeeRouteConfig (ARC) che crea internamente
ApigeeRoute (AR) una volta che il watcher Apigee estrae i dettagli
relativi al gruppo di ambienti dal control plane. Pertanto, verifica che lo stato del
AR corrispondente sia in esecuzione:
kubectl -n apigee get arc
NAME STATE AGE
apigee-org1-dev-egroup 2d
kubectl -n apigee get ar
NAME STATE AGE
apigee-org1-dev-egroup-xxxxxx running 2d
Ulteriori casi d'uso per i grafici Helm con Apigee Hybrid
Backup e ripristino di Cassandra
Per attivare il backup:
Aggiorna i dettagli del backup di Cassandra nel file overrides.yaml:
La configurazione multiregionale con i grafici Helm richiede gli stessi prerequisiti delle
attuali procedure apigeectl. Per maggiori dettagli, consulta
Prerequisiti per le implementazioni multiregionali.
La procedura per configurare l'ibrido per più regioni è la stessa della
procedura esistente fino alla configurazione dell'host seed multiregionale e alla configurazione del cluster e del contesto Kubernetes.
Configura la prima regione
Per configurare la prima regione e prepararti a configurare la seconda regione:
SEED_HOST_IP_ADDRESS con l'indirizzo IP dell'host seed, ad esempio 10.0.0.11.
DATACENTER_NAME con il nome del data center, ad esempio dc-2.
RACK_NAME con il nome del rack, ad esempio ra-1.
CLUSTER_NAME con il nome del tuo cluster Apigee. Per impostazione predefinita, il valore è apigeecluster. Se utilizzi un nome del cluster diverso, devi specificare un valore per cassandra.clusterName.
Questo valore deve essere lo stesso in tutte le regioni.
Copia il certificato dal cluster esistente al nuovo cluster.
La nuova CA radice viene utilizzata da Cassandra e da altri componenti ibridi per mTLS.
Pertanto, è essenziale disporre di certificati coerenti in tutto il cluster.
Imposta il contesto sullo spazio dei nomi originale:
kubectl config use-context ORIGINAL_CLUSTER_NAME
Esporta la configurazione dello spazio dei nomi corrente in un file:
kubectl get namespace apigee -o yaml > apigee-namespace.yaml
Esporta il secret apigee-ca in un file:
kubectl -n cert-manager get secret apigee-ca -o yaml > apigee-ca.yaml
Imposta il contesto sul nome del cluster della nuova regione:
kubectl config use-context NEW_CLUSTER_NAME
Importa la configurazione dello spazio dei nomi nel nuovo cluster. Assicurati di
aggiornare lo spazio dei nomi nel file se utilizzi uno spazio dei nomi diverso
nella nuova regione:
kubectl apply -f apigee-namespace.yaml
Importa il secret nel nuovo cluster:
kubectl -n cert-manager apply -f apigee-ca.yaml
Ora utilizza i grafici Helm per installare Apigee Hybrid nella nuova regione con
i seguenti comandi del grafico Helm (come fatto nella regione 1):
Una volta installati tutti i componenti, configura Cassandra su tutti i pod
nei nuovi data center. Per istruzioni, vedi
Configurare Apigee hybrid per più regioni, seleziona la tua piattaforma,
scorri fino a Configurare la nuova regione e poi individua il passaggio 5.
Una volta completata e verificata la replica dei dati, aggiorna gli host seed:
Vuoi rimuovere multiRegionSeedHost: 10.0.0.11 da overrides-DATACENTER_NAME.yaml?
La voce multiRegionSeedHost non è più necessaria dopo che è stata stabilita la replica dei dati e gli IP dei pod dovrebbero cambiare nel tempo.
Applica di nuovo la modifica per aggiornare il CR del datastore Apigee:
Anziché fare affidamento sul repository Google Cloud pubblico, puoi, se vuoi,
ospitare le immagini in privato. Anziché eseguire l'override di ogni componente, puoi aggiungere i dettagli dell'hub agli override:
hub:PRIVATE_REPO
Ad esempio, se viene fornito il seguente hub, il percorso dell'immagine verrà risolto automaticamente:
hub:private-docker-host.com
come:
## an example of internal component vs 3rd party
containers:
- name: apigee-udca
image: private-docker-host.com/apigee-udca:1.10.5
imagePullPolicy: IfNotPresent
containers:
- name: apigee-ingressgateway
image: private-docker-host.com/apigee-asm-ingress:1.17.2-asm.8-distroless
imagePullPolicy: IfNotPresent
Fai clic per espandere un elenco di immagini Apigee
Per utilizzare la
funzionalità Taints and Tolerations di Kubernetes, devi definire la
proprietà di override tolerations per ogni componente di Apigee Hybrid.
I seguenti componenti supportano la definizione di tolleranze:
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2026-04-09 UTC."],[],[]]