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 dei servizi di runtime.
Informazioni sul file delle sostituzioni
La prima volta che installi il runtime ibrida in un cluster, devi creare un file di override di configurazione. Questo file ti consente di ignorare i valori di configurazione predefiniti come necessario, configurare gli ambienti, fare riferimento ai certificati TLS e alle chiavi dell'account servizio, assegnare i pool di nodi Kubernetes a componenti ibridi specifici e così via.
I passaggi di installazione dell'architettura ibrida illustrano la procedura di creazione di un file di override e di applicazione della configurazione a un cluster. Se vuoi modificare la configurazione in un secondo momento, modifica il file di override che hai creato e riapplicalo.
Apportare una modifica alla configurazione
Per apportare una modifica alla configurazione di un componente del piano di runtime ibrido,
modifica il file delle sostituzioni e
applica le modifiche con Helm o apigeectl
, a seconda dello strumento di gestione.
Ad esempio, per modificare il conteggio delle repliche Processore di messaggi, segui questi passaggi:
- Apri il tuo
OVERRIDES
.yaml
file. 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 tue esigenze. Ad esempio:
... runtime: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime replicaCountMin: 2 replicaCountMax: 4 ...
-
Helm
Applica le modifiche con il graficoapigee-org
:helm upgrade ORG_NAME apigee-org/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
apigeectl
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 nella sezione Informazioni di riferimento sulle proprietà di configurazione. Il riferimento elenca solo le proprietà che puoi modificare. Se provi a modificare una proprietà non presente nel riferimento, la modifica viene ignorata.
Come utilizzare il riferimento alla configurazione
Il riferimento alla proprietà di configurazione utilizza la notazione a punti per descrivere gli elementi di configurazione, dove il primo elemento è il nome dell'elemento di primo livello seguito da proprietà e proprietà secondarie. Ad esempio:
ao.image.pullPolicy
Nel file delle sostituzioni, le proprietà sono formattate in YAML corretto. Per l'esempio precedente,
l'elemento ao
di primo livello è rientrato a sinistra
e le proprietà dell'elemento secondario
sono rientrate sotto di esso. Inoltre, YAML richiede i due punti
alla fine di ogni elemento e sottoelemento.
Ad esempio, per impostare la proprietà ao.image.pullPolicy
su Always
, individua questa stanza YAML nel file delle sostituzioni e impostala come segue:
ao: image: pullPolicy: Always
Per un altro esempio, la proprietà cassandra.auth.admin.password
(così come
è elencato in Riferimento proprietà di configurazione) viene utilizzato per impostare la proprietà di Cassandra
password di amministratore. Per modificarlo, individua il seguente codice YAML nel file delle sostituzioni e impostalo come segue:
cassandra: auth: admin: password: abc123
Ricorda che il riferimento per le proprietà di configurazione descrive tutte le proprietà che puoi impostare sui componenti del piano di runtime ibrida. Segui lo schema spiegato sopra per modificare questi elementi nel file delle sostituzioni prima di applicare le modifiche al cluster.
L'utilizzo di un esempio predefinito esegue l'override dei file
Quando installi per la prima volta il runtime ibrido, Apigee consiglia di utilizzare uno dei l'esempio preconfigurato sostituisce i file. Questi esempi forniscono un insieme completo di proprietà di configurazione per scenari di installazione specifici, ad esempio per la configurazione di un'installazione di produzione o di test. Devi solo fornire valori appropriati per le proprietà e applicare il file delle sostituzioni al cluster. Per ulteriori informazioni, consulta il passaggio 6: configurazione del cluster.
Informazioni sulle impostazioni predefinite di configurazione
Apigee gestisce la configurazione predefinita dei componenti nel file
HYBRID_ROOT_DIR/config/values.yaml
. I file di override seguono la stessa struttura YAML di values.yaml
.
Un file di override in genere include solo un sottoinsieme delle proprietà di configurazione presenti in
values.yaml
. Ricorda che non tutte le proprietà sono modificabili. Quando applichi una configurazione
a un cluster, gli override vengono uniti ai valori predefiniti per creare l'ambiente Kubernetes completo
la configurazione del cluster. Consulta anche Testa la configurazione unita.
Il seguente codice mostra la configurazione predefinita per il componente mart
come
rilevato in values.yaml
. Tieni presente
che alcuni valori hanno valori predefiniti, mentre altri come sslCertPath
e
sslKeyPath
no. Devi fornire questi valori mancanti nel file delle sostituzioni, come spiegato nella procedura di installazione.
Se vuoi modificare uno dei valori predefiniti, assicurati che siano modificabili controllandoli nel riferimento alla 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 il componente non è già presente nel file delle sostituzioni, puoi copiare il relativo file YAML da values.yaml
nel file delle sostituzioni e modificarlo lì.
Esempi di file con override
Apigee fornisce un insieme di file di override di esempio per aiutarti a configurare il deployment ibrido. È una buona pratica per copiare e modificare il file degli override che più si avvicina ai requisiti di installazione.
I seguenti esempi sono inclusi nella directory HYBRID_ROOT_DIR/examples
:
Esempi di file con override | Descrizione |
---|---|
overrides-small.yaml |
Questo esempio è ideale per iniziare rapidamente. Utilizza l'impronta minima consigliata
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 esempio è 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 le prestazioni. In questo ambiente, è consigliabile che gli utenti installino stateful e stateless su nodi separati. Consulta Configurare i nodi dedicati. |
overrides-large.yaml |
Questo esempio è un buon punto di partenza per ambienti ad alte prestazioni come pre-produzione e produzione. L'esempio include proprietà per l'impostazione di chiavi di crittografia, password e altro ancora. I singoli componenti hanno un minimo di due repliche. |
Annotazioni personalizzate
Le Annotazioni sono mappe chiave/valore utilizzate per associare i metadati ai pod Kubernetes di Apigee hybrid. Puoi creare annotazioni personalizzate per le seguenti proprietà elencate in Riferimento delle proprietà di configurazione:
Per aggiungere un'annotazione personalizzata, aggiungi una stanza al file OVERRIDES.yaml
per il rispettivo componente.
L'esempio seguente illustra come è possibile specificare un'annotazione nei pod runtime
runtime: annotations: businessunit: "bu1"
Testa la configurazione unita
Puoi utilizzare il flag --dry-run
per testare il file di configurazione unito senza applicarlo effettivamente al cluster. Questa opzione è utile per il debug di un
problema di installazione perché ti mostra esattamente cosa verrà applicato al cluster.
È buona norma anche testare la configurazione e memorizzarla
del codice sorgente, in modo che tu abbia un riferimento delle risorse installate
e configurati nel cluster.
Helm
kubectl apply -k apigee-operator/etc/crds/default/
helm upgrade operator apigee-operator/ \ --install \ --namespace apigee-system \ --atomic \ -f OVERRIDES_FILE.yaml \ --dry-run
helm upgrade ingress-manager apigee-ingress-manager/ / --install \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml \ --dry-run
apigeectl
APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=client
Per ulteriori informazioni, vedi apigeectl
.
Crea più file di override in base alle tue esigenze
Puoi creare tutti i file di override che vuoi, ognuno dei quali pubblica una specifica requisito. Ad esempio, potresti avere un file di override che ottimizza il cluster per produzione e un altro per la creazione di un cluster di test. Puoi quindi gestire questi file nel tuo sistema di controllo dei file sorgente.
Ad esempio:
Helm
helm upgrade test-1-env apigee-env/ \ --namespace apigee \ --atomic \ --set env=test-1-env \ -f test-1-env-overrides.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f test-1-env-overrides.yaml --env test-1-env
Elimina i componenti del piano di runtime specifici dell'ibrido
I componenti del piano di runtime includono synchronizer
,
mart
, runtime
cassandra
e udca
.
Per eliminare i componenti del piano di runtime specifici per l'infrastruttura ibrida dal cluster, utilizza i comandi helm delete
o apigeectl delete
.
Assicurati di specificare lo stesso file di override che hai utilizzato per installare i componenti di runtime.
Ad esempio:
Helm
Se utilizzi Helm, devi eliminare ogni componente singolarmente. Ad esempio, per eliminare il componentecassandra
, utilizza il seguente comando:
helm -n apigee delete datastore
Nell'esempio precedente, il componente del data store è stato installato con il nome "datastore". Se lo hai installato con un nome diverso, dovrai fornire questo nome per eliminare il componente. Ad esempio, se hai installato il grafico apigee-datastore
con
helm install my-cassandra-storage apigee-datastore/
. lo eliminerai con il
seguente comando:
helm delete -n apigee my-cassandra-storage
apigeectl
Con apigeectl
puoi eliminare tutti i componenti di runtime contemporaneamente o limitare l'ambito
di eliminare un componente alla volta. Ad esempio, per eliminare tutti i componenti contemporaneamente:
$APIGEECTL_HOME/apigeectl delete -f OVERRIDES_FILE.yaml
Per eliminare il componente cassandra
:
$APIGEECTL_HOME/apigeectl delete -f OVERRIDES_FILE.yaml --datastore
Per ricreare uno o più componenti specifici (il gruppo di ambienti in questo esempio):
Helm
helm upgrade ENV_GROUP apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --env ENV_NAME --settings virtualhosts