Gestione dei componenti del piano di runtime

Questo argomento spiega come configurare e gestire i componenti del piano di runtime di Apigee hybrid. Per un elenco dei per componenti del piano di runtime che puoi configurare, consulta Servizio di runtime panoramica della configurazione.

Informazioni sul file degli override

La prima volta che installi il runtime ibrida in un cluster, devi creare un file di override di configurazione. Questo file consente di eseguire l'override della configurazione predefinita i valori in base alle esigenze, configurare gli ambienti, fare riferimento ai certificati TLS e al servizio dell'account, assegnare a Kubernetes pool di nodi a specifici componenti ibridi e così via.

La procedura di installazione ibrida illustra la procedura di creazione un file di override e di applicare la configurazione a un cluster. Se vuoi modificare la configurazione in un secondo momento, modifica il file degli override creato e applicarlo di nuovo.

Apportare una modifica alla configurazione

Per apportare una modifica alla configurazione di un componente del piano di runtime ibrido, modificare il file di override e applica le modifiche con apigeectl.

Ad esempio, per modificare il conteggio delle repliche Processore di messaggi, segui questi passaggi:

  1. Apri il tuo OVERRIDES.yaml file. Assicurati di utilizzare lo stesso file di override che è stato utilizzato per installare il runtime ibrido nel cluster.
  2. Individua l'elemento runtime nel file. Ad esempio:
    ...
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 1
      replicaCountMax: 2
    ...
  3. 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
    ...
  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 per le proprietà di configurazione. Il riferimento elenca solo le proprietà che puoi modificare; se tenti di modificare una proprietà che non è riferimento, la modifica viene ignorata.

Come utilizzare il riferimento alla configurazione

Il riferimento proprietà di configurazione utilizza la notazione punto 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 degli override, le proprietà sono formattate nel formato YAML corretto. Per l'esempio precedente, l'elemento authz di primo livello è rientrato a sinistra e le proprietà dell'elemento secondario sono rientrate sotto di esso. Inoltre, YAML richiede i due punti la fine di ogni elemento e sottoelemento.

Ad esempio, per impostare la proprietà authz.image.pullPolicy su Always, individua questa stanza YAML nel file override e impostala come segue:

authz:
  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 YAML nel file degli override e imposta come segue:

cassandra:
  auth:
    admin:
      password: abc123

Ricorda che il Riferimento proprietà di configurazione descrive tutte le proprietà che puoi impostare. sui componenti del piano di runtime ibrido. Segui lo schema spiegato in precedenza per modificare questi elementi nel file degli override 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 ibrida, Apigee consiglia di utilizzare uno dei file di override di esempio preconfigurati. Questi esempi forniscono un insieme completo proprietà per scenari di installazione specifici, come 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 7: configura il runtime ibrido.

Informazioni sui valori predefiniti della configurazione

Apigee mantiene la configurazione predefinita dei componenti nel file HYBRID_ROOT_DIR/config/values.yaml. I file di override seguono lo stesso YAML struttura: values.yaml.

In genere un file di override include solo un sottoinsieme delle proprietà di configurazione presenti in values.yaml. Ricorda: 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 e la configurazione del cluster. Vedi anche Testa la configurazione unita.

Il seguente codice mostra la configurazione predefinita per il componente mart come rilevato in values.yaml. Nota alcuni valori hanno valori predefiniti, mentre altri, come sslCertPath e sslKeyPath no. Devi indicare questi valori mancanti nei di override, come spiegato nella procedura di installazione. Se vuoi modificare uno qualsiasi dei valori predefiniti, assicurati che sono modificabili consultando la sezione Riferimento 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: |
...

Per modificare le impostazioni predefinite di un componente che viene non è già presente nel file degli override, puoi copiare il relativo YAML da values.yaml nel tuo esegue l'override del file e lo modifica lì.

File di esempio con override

Apigee fornisce un set di file di esempio per gli override ti guideranno nella configurazione del 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 nel directory HYBRID_ROOT_DIR/examples:

File di esempio 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 su il più possibile sulle impostazioni e sui 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 migliorare le prestazioni. In questo ambiente, è consigliabile che gli utenti installino stateful e stateless su nodi separati. Vedi Configura 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 le proprietà per l'impostazione 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 associare metadati ai pod Kubernetes di Apigee hybrid. Puoi creare annotazioni personalizzate per le seguenti proprietà elencate in Riferimento per le 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 in runtime pod:

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 cluster. Questa opzione è utile per eseguire il debug 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.

In Apigee hybrid, la sintassi del flag --dry-run dipende dalla versione di kubectl in esecuzione. Controlla la versione di kubectl con seguente comando:

kubectl version

kubectl versione 1.17 e precedenti:

APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=true

kubectl versione 1.18 e successive:

APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=client

Per ulteriori informazioni, vedi apigeectl.

Crea 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 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.

apigeectl apply  -f ./test_env_override.yaml

Per ulteriori informazioni, vedi apigeectl.

Eliminare i componenti del piano di runtime specifici di hybrid

Per eliminare dal cluster i componenti del piano di runtime specifici per ibrido, utilizza Comando apigeectl delete. Questi componenti includono synchronizer, mart, runtime, cassandra e udca. Assicurati di specificare lo stesso file di override utilizzato per installare i componenti di runtime:

Ad esempio:

apigeectl delete -f ./OVERRIDES.yaml

Puoi utilizzare il comando apigeectl apply per ricreare un componente specifico oppure componenti:

apigeectl apply --org --env ENV_NAME -f ./OVERRIDES.yaml

Per ulteriori informazioni, vedi apigeectl.

Eliminare un componente specifico

Se vuoi eliminare solo un componente specifico, utilizza la Opzione -c con apigeectl delete Assicurati di specificare lo stesso file di override che hai utilizzato per installare i componenti di runtime.

Ad esempio, per eliminare il componente synchronizer, utilizza questo 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 ulteriori informazioni, vedi apigeectl.

Elimina tutti i componenti

Per eliminare tutti i componenti ibridi del tuo cluster, inclusi quelli creati apigeectl init, usa Comando apigeectl delete con il flag --all. Assicurati che per specificare lo stesso file di override utilizzato per installare i componenti di runtime:

Ad esempio:

apigeectl delete -f ./OVERRIDES.yaml --all

Per ulteriori informazioni, vedi apigeectl.