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 componenti del piano di runtime che puoi configurare, consulta Panoramica della configurazione dei servizi di runtime.

Informazioni sul file di override

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

I passaggi di installazione ibrida descrivono il processo di creazione di un file di override e l'applicazione della configurazione a un cluster. Se vuoi modificare la configurazione in un secondo momento, modifica il file di override che hai creato e applicalo di nuovo.

Modifica di una 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 nel processore di messaggi, segui questi passaggi:

  1. Apri il file OVERRIDES.yaml. Assicurati di utilizzare lo stesso file di override 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 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 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 con il punto 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:

authz.image.pullPolicy

Nel file di override, le proprietà sono formattate in formato YAML corretto. Per l'esempio precedente, l'elemento authz di primo livello è rientrato a sinistra e le proprietà dei sottoelementi sono rientrate al suo interno. Inoltre, YAML richiede i due punti alla fine di ogni elemento e sottoelemento.

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

authz:
  image:
    pullPolicy: Always

Per un altro esempio, la proprietà cassandra.auth.admin.password (come è elencata in Riferimento per le proprietà di configurazione) viene utilizzata per impostare la password di amministrazione di Cassandra. Per modificarlo, individua il seguente codice YAML nel file di override 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 ibrido. Segui il pattern spiegato sopra per modificare questi elementi nel file di override prima di applicare le modifiche al cluster.

Utilizzo di file di override di esempi predefiniti

Quando installi per la prima volta l'ambiente di runtime ibrido, Apigee consiglia di utilizzare uno dei file di override di esempio preconfigurati. 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. Tutto ciò che devi fare è fornire valori appropriati per le proprietà e applicare il file di override al cluster. Per saperne di più, consulta Passaggio 7: configura il runtime di hybrid.

Informazioni sui valori predefiniti 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 la configurazione completa del cluster Kubernetes. Consulta anche Testare la configurazione unita.

Il seguente codice mostra la configurazione predefinita del componente mart come si trova 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 di override, come spiegato nella procedura di installazione. Se vuoi modificare uno dei valori predefiniti, assicurati che siano modificabili controllando la Guida di riferimento alle 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 questo non è già presente nel file di override, puoi copiarne il codice YAML da values.yaml nel file di override e modificarlo lì.

File di override di esempio

Apigee fornisce un insieme di file di override di esempio per aiutarti a configurare la tua implementazione ibrida. È consigliabile 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 override di esempio Descrizione
overrides-small.yaml Questo campione è ideale per iniziare rapidamente. Utilizza l'impronta minima consigliata per avviare i componenti 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 di risorse più elevato per gestire il traffico aggiuntivo. Cassandra utilizza dischi SSD per le prestazioni. In questo ambiente, è consigliabile che gli utenti installino componenti con stato e senza stato 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 allegare 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 strofa al file OVERRIDES.yaml per il componente corrispondente.

Il seguente esempio 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 cluster. Questa opzione è utile per il debug di un problema di installazione perché mostra esattamente ciò che verrà applicato al cluster. È anche una buona pratica testare la configurazione e archiviarla nel controllo del codice sorgente in modo da avere un riferimento delle risorse installate e configurate nel cluster.

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

kubectl version

kubectl version 1.17 e versioni 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 la produzione e un altro per la creazione di un cluster di test. Puoi quindi gestire questi file nel tuo sistema di controllo del codice sorgente.

Utilizza l'opzione -f con apigeectl per specificare la posizione e il nome di un file di override. Ad esempio:

apigeectl apply  -f ./test_env_override.yaml

Per ulteriori informazioni, vedi apigeectl.

Eliminare i componenti del piano di runtime specifici per hybrid

Per eliminare i componenti del piano di runtime specifici per l'ibrido dal 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 runtime:

Ad esempio:

apigeectl delete -f ./OVERRIDES.yaml

Puoi utilizzare il comando apigeectl apply per ricreare un componente o componenti specifici:

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

Per ulteriori informazioni, vedi apigeectl.

Eliminare un componente specifico

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 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 runtime:

Ad esempio:

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

Per ulteriori informazioni, vedi apigeectl.