Questo argomento spiega come configurare e gestire i componenti del piano di runtime di Apigee hybrid. Per un elenco dei componenti del piano di runtime che puoi configurare, consulta la panoramica della configurazione del servizio runtime.
Informazioni sul file delle sostituzioni
La prima volta che installi il runtime ibrido in un cluster, devi creare un file di sostituzione della configurazione. Questo file consente di eseguire l'override dei valori di configurazione predefiniti in base alle esigenze, configurare gli ambienti, fare riferimento ai certificati TLS e alle chiavi degli account di servizio, assegnare pool di nodi Kubernetes a componenti ibridi specifici e così via.
I passaggi per l'installazione ibrida illustrano la procedura per creare un file di sostituzione e applicare la configurazione a un cluster. Se vuoi cambiare la configurazione in un secondo momento, modifica il file di sostituzione creato e applicalo di nuovo.
Apportare una modifica alla configurazione
Per apportare una modifica alla configurazione di un componente del piano di runtime ibrido, modifica il file di override e applica le modifiche con apigeectl
.
Ad esempio, per modificare il conteggio delle repliche sul processore dei messaggi, segui questi passaggi:
- Apri il file
OVERRIDES
.yaml
. Assicurati di utilizzare lo stesso file di override utilizzato per installare il runtime ibrido nel cluster. - Individua l'elemento
runtime
nel file. Ad esempio:... runtime: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime replicaCountMin: 1 replicaCountMax: 2 ...
-
Modifica le proprietà del conteggio delle repliche in base alle esigenze. Ad esempio:
... runtime: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime replicaCountMin: 2 replicaCountMax: 4 ...
- Utilizza
apigeectl
per applicare la modifica al cluster:apigeectl apply -f ./OVERRIDES.yaml --org --env ENV_NAME
Quali proprietà di configurazione puoi modificare?
Puoi trovare l'elenco completo delle proprietà configurabili nel riferimento della proprietà di configurazione. Il riferimento elenca solo le proprietà che puoi modificare; se tenti di modificare una proprietà che non è inclusa nel riferimento, la modifica viene ignorata.
Come utilizzare il riferimento di configurazione
Il riferimento della proprietà di configurazione utilizza la notazione con punti per descrivere gli elementi di configurazione, dove il primo elemento è il nome dell'elemento di primo livello seguito dalle proprietà e dalle proprietà secondarie. Ad esempio:
authz.image.pullPolicy
Nel file delle sostituzioni, le proprietà sono formattate nel formato YAML appropriato. Per l'esempio precedente, l'elemento authz
di primo livello viene rientrato a sinistra e le proprietà degli elementi secondari vengono rientrate. Inoltre, YAML richiede i due punti alla fine di ogni elemento ed elemento secondario.
Ad esempio, per impostare la proprietà authz.image.pullPolicy
su Always
, individua questa intestazione YAML nel file di override e impostala come segue:
authz: image: pullPolicy: Always
Per un altro esempio, la proprietà cassandra.auth.admin.password
(così come
è elencata nel riferimento della proprietà di configurazione) viene utilizzata per impostare la password
dell'amministratore di Cassandra. Per modificarlo, individua il seguente YAML nel file di override e impostalo come segue:
cassandra: auth: admin: password: abc123
Ricorda che il riferimento proprietà della configurazione descrive tutte le proprietà che puoi impostare sui componenti del piano di runtime ibrido. Segui il pattern descritto sopra per modificare questi elementi nel file di override prima di applicare le modifiche al cluster.
Utilizzare file di esempio predefiniti sostituisce i file
Quando installi per la prima volta il runtime ibrido, Apigee consiglia di utilizzare uno dei file di esempio preconfigurati di sostituzione. Questi esempi forniscono un set completo di proprietà di configurazione per scenari di installazione specifici, ad esempio per la configurazione di un'installazione di produzione o di test. Tutto ciò che devi fare è fornire i valori appropriati per le proprietà e applicare il file di sostituzione al cluster. Per ulteriori informazioni, consulta il Passaggio 7: configura il runtime ibrido.
Informazioni sulle impostazioni predefinite di configurazione
Apigee mantiene la configurazione del componente predefinito nel file HYBRID_ROOT_DIR/config/values.yaml
. I file di override seguono la stessa struttura YAML di values.yaml
.
In genere un file di sostituzione include solo un sottoinsieme delle proprietà di configurazione che si trovano in
values.yaml
. Ricorda, non tutte le proprietà sono modificabili. Quando applichi una configurazione a un cluster, le sostituzioni vengono unite ai valori predefiniti per creare la configurazione cluster Kubernetes completa. Consulta anche la pagina Testare la configurazione unita.
Il codice riportato di seguito mostra la configurazione predefinita per il componente mart
disponibile in values.yaml
. Tieni presente che alcuni valori hanno valori predefiniti, mentre altri, come sslCertPath
e sslKeyPath
. Devi specificare questi valori mancanti nel
file di override, come spiegato nella procedura di installazione.
Se vuoi modificare uno qualsiasi dei valori predefiniti, assicurati che siano modificabili controllando il riferimento della proprietà di configurazione.
... mart: replicaCountMin: 2 replicaCountMax: 4 targetCPUUtilizationPercentage: 75 terminationGracePeriodSeconds: 30 sslCertPath: sslKeyPath: hostAlias: nodeSelector: key: value: revision: blue image: url: "gcr.io/apigee-release/hybrid/apigee-mart-server" tag: "1.3.6" pullPolicy: IfNotPresent resources: requests: cpu: 500m memory: 512Mi initCheckCF: resources: requests: cpu: 10m livenessProbe: timeoutSeconds: 1 failureThreshold: 12 periodSeconds: 5 initialDelaySeconds: 15 readinessProbe: timeoutSeconds: 1 successThreshold: 1 failureThreshold: 2 periodSeconds: 5 initialDelaySeconds: 15 metricsURL: "/v1/server/metrics" cwcAppend: | ...
Se vuoi modificare i valori predefiniti di un componente e quest'ultimo non è già incluso nel file di override, puoi copiare il file YAML da values.yaml
nel file di override e modificarlo da lì.
File di esempio di sostituzione
Apigee fornisce un set di file di esempio di override per aiutarti a configurare il deployment ibrido. È buona prassi copiare e modificare il file di override che corrisponde maggiormente ai requisiti di installazione.
I seguenti esempi sono inclusi nella directory HYBRID_ROOT_DIR/examples
:
File di esempio di sostituzione | Descrizione |
---|---|
overrides-small.yaml |
Questo esempio è ideale per iniziare rapidamente. Utilizza il numero minimo consigliato
per avviare i componenti di runtime ibridi. Questa configurazione di esempio si basa il più possibile su impostazioni e valori predefiniti. Tutte le repliche minime sono impostate su 1 . |
overrides-medium.yaml |
Questo campione è un buon punto di partenza per gli ambienti di test e QA. Ai singoli componenti è stato concesso un livello più elevato di risorse per gestire il traffico aggiuntivo. Cassandra utilizza dischi SSD per migliorare le prestazioni. In questo ambiente, è consigliabile che gli utenti installino componenti stateful e stateless su nodi separati. Consulta la pagina Configurare i nodi dedicati. |
overrides-large.yaml |
Questo campione è un buon punto di partenza per ambienti con prestazioni elevate, come pre-produzione e produzione. L'esempio include le proprietà per l'impostazione di chiavi di crittografia, password e altro. I singoli componenti hanno un minimo di due repliche. |
Annotazioni personalizzate
Le annotazioni sono mappe chiave/valore utilizzate per collegare i metadati ai pod Kubernetes ibridi di Apigee. Puoi creare annotazioni personalizzate per le seguenti proprietà elencate in Riferimento proprietà di configurazione:
Per aggiungere un'annotazione personalizzata, aggiungi una stanza virtuale al file OVERRIDES.yaml
per il rispettivo componente.
L'esempio seguente mostra come specificare un'annotazione nei pod runtime
:
runtime: annotations: businessunit: "bu1"
Testa la configurazione unita
Puoi utilizzare il flag --dry-run
con apigeectl
per testare il file di configurazione unito senza applicarlo effettivamente al tuo cluster. Questa opzione è utile per eseguire il debug di un problema di installazione perché mostra esattamente cosa verrà applicato al cluster.
È inoltre buona norma testare la configurazione e archiviarla nel controllo del codice sorgente in modo da avere un riferimento alle risorse installate e configurate nel cluster.
Nella versione ibrida di Apigee, la sintassi del flag --dry-run
dipende dalla versione di kubectl
in esecuzione. Controlla la versione di kubectl
con il
comando seguente:
kubectl version
kubectl 1.17 e versioni precedenti:
APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=true
kubectl 1.18 e versioni successive:
APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=client
Per saperne di più, vedi apigeectl
.
Creare più file di override in base alle esigenze
Puoi creare tutti i file di override che vuoi, ognuno dei quali soddisfa un requisito specifico. Ad esempio, potresti avere un file di override che perfeziona il cluster per la produzione e un altro per la creazione di un cluster di test. Puoi quindi mantenere questi file nel tuo sistema di controllo dei file sorgente.
Utilizza l'opzione -f
con apigeectl
per specificare la posizione e il nome di un file di sostituzione. Ad esempio:
apigeectl apply -f ./test_env_override.yaml
Per saperne di più, vedi apigeectl
.
Elimina i componenti del piano di runtime specifico per il lavoro ibrido
Per eliminare i componenti del piano di runtime specifici per ambienti ibridi dal tuo cluster, utilizza il comando apigeectl delete
. Questi componenti includono synchronizer
, mart
,
runtime
, cassandra
e udca
. Assicurati di specificare lo stesso file di override che hai utilizzato per installare i componenti di runtime:
Ad esempio:
apigeectl delete -f ./OVERRIDES.yaml
Puoi utilizzare il comando apigeectl apply
per ricreare uno o più componenti specifici:
apigeectl apply --org --env ENV_NAME -f ./OVERRIDES.yaml
Per saperne di più, vedi apigeectl
.
Eliminare un componente specifico
Ad esempio, per eliminare il componente synchronizer
, utilizza il seguente comando:
apigeectl delete --org --env ENV_NAME -f ./OVERRIDES.yaml
Puoi quindi utilizzare il comando apigeectl apply
per ricreare il componente:
apigeectl apply --org --env ENV_NAME -f ./OVERRIDES.yaml
Per saperne di più, vedi apigeectl
.
Elimina tutti i componenti
Per eliminare tutti i componenti ibridi del cluster, inclusi quelli creati dal comando apigeectl init
, utilizza il comando apigeectl delete
con il flag --all
. Assicurati di specificare lo stesso file di override che hai utilizzato per installare i componenti di runtime:
Ad esempio:
apigeectl delete -f ./OVERRIDES.yaml --all
Per saperne di più, vedi apigeectl
.