Gestione dei componenti del piano di runtime

Questo argomento spiega come configurare e gestire i componenti del piano di runtime ibridi di Apigee. Per un elenco dei componenti del piano di runtime che puoi configurare, consulta Panoramica della configurazione del servizio di runtime.

Informazioni sul file degli override

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 a certificati TLS e chiavi degli account di servizio, assegnare pool di nodi Kubernetes a componenti ibridi specifici e così via.

La procedura di installazione ibrida illustra il processo di creazione di un file di override e di applicazione della configurazione a un cluster. Se vuoi cambiare la configurazione in un secondo momento, modifica il file degli override che hai 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 degli override e applica le modifiche con apigeectl.

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

  1. Apri il file YAML degli override. 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 tue esigenze. Ad esempio:
    ...
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 2
      replicaCountMax: 4
    ...
  4. Usa apigeectl per applicare la modifica al cluster:
    apigeectl apply -f ./my_overrides.yaml -c runtime

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 tenti di modificare una proprietà che non è nel riferimento, la modifica viene ignorata.

Come utilizzare il riferimento alla configurazione

Il riferimento delle 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, mentre le proprietà dell'elemento secondario sono rientrate sotto. 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 stanza YAML nel file degli override e impostala:

authz:
  image:
    pullPolicy: Always

Per un altro esempio, la proprietà cassandra.auth.admin.password (indicata nel riferimento della proprietà di configurazione) viene utilizzata per impostare la password dell'amministratore di Cassandra. Per modificarlo, individua il seguente YAML nel file degli override e impostalo:

cassandra:
  auth:
    admin:
      password: abc123

Ricorda che il riferimento delle proprietà di configurazione descrive tutte le proprietà che puoi impostare sui componenti ibridi del piano di runtime. Segui il pattern 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 ibrido, Apigee consiglia di utilizzare uno dei pre-configured example overrides files. Questi esempi forniscono un insieme completo di proprietà di configurazione per scenari di installazione specifici, ad esempio per l'impostazione di un'installazione di produzione o di test. Devi solo fornire i valori appropriati per le proprietà e applicare il file degli override al cluster. Per ulteriori informazioni, consulta Creare un file di override.

Informazioni sulle impostazioni predefinite di configurazione

Apigee mantiene la configurazione predefinita dei componenti nel file hybrid_root_dir/config/values.yaml. I file degli override seguono la stessa struttura YAML di values.yaml.

In genere un file di override 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. Vedi anche Output della configurazione unita.

Il seguente codice mostra la configurazione predefinita per il componente mart in values.yaml. Tieni presente che alcuni valori hanno valori predefiniti, mentre altri, come sslCertPath e sslKeyPath, no. Devi fornire i valori mancanti nel file di override, come spiegato nella procedura di installazione. Se vuoi modificare i valori predefiniti, assicurati che siano modificabili controllando 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: "google/apigee-mart-server"
    tag: "1.0.0"
    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 le impostazioni predefinite di un componente e quest'ultimo non è già presente nel file degli override, puoi copiare il relativo YAML da values.yaml nel file degli override e modificarlo da lì.

File di esempio con override

Apigee fornisce una serie di file di esempio per l'override, per guidarti nella configurazione del deployment ibrido. È buona norma 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:

File di esempio con override Descrizione
overrides-small.yaml Questo esempio è ideale per iniziare rapidamente. Utilizza l'ingombro minimo consigliato per avviare i componenti di runtime ibridi. Questa configurazione di esempio fa affidamento 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 superiore per gestire il traffico aggiuntivo. Cassandra utilizza i dischi SSD per le prestazioni. In questo ambiente, consigliamo agli utenti di installare componenti stateful e stateless su nodi separati. Vedi 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 le proprietà per l'impostazione di chiavi di crittografia, password e altro. I singoli componenti hanno un minimo di due repliche.

Visualizza la configurazione unita

Puoi utilizzare il flag --dry-run con apigeectl per generare 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. È inoltre buona norma eseguire l'output della configurazione e archiviarla nel controllo del codice sorgente, in modo da avere un riferimento delle risorse installate e configurate nel cluster.

Ad esempio:

apigeectl apply -f ./my_overrides.yaml --dry-run --print-yaml > apigee-hybrid.yaml

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.

Elimina i componenti del piano di runtime specifici dell'ibrido

Per eliminare dal cluster i componenti del piano di runtime specifici dell'ibrido, utilizza il comando apigeectl delete. Questi componenti includono Syncr, 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 ./my_overrides.yaml

Puoi utilizzare il comando apigeectl apply per ricreare uno o più componenti specifici:

apigeectl apply -c synchronizer -f ./my_overrides.yaml

Per ulteriori informazioni, vedi apigeectl.

Eliminare un componente specifico

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

Ad esempio, per eliminare il componente Sincronizzatore, utilizza questo comando:

apigeectl delete -c synchronizer -f ./my_overrides.yaml

Puoi quindi utilizzare il comando apigeectl apply per ricreare il componente:

apigeectl apply -c synchronizer -f ./my_overrides.yaml

Per ulteriori informazioni, vedi apigeectl.

Elimina tutti i componenti

Per eliminare tutti i componenti ibridi del tuo 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 ./my_overrides.yaml --all

Per ulteriori informazioni, vedi apigeectl.