Gestione dei componenti del piano di runtime

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

Informazioni sul file di override

La prima volta che installi il runtime ibrido in un cluster, devi creare un file di override di 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 di un modello ibrido 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 di 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 di override e utilizza Helm per eseguire l'upgrade del grafico corrispondente al componente. Il seguente grafico mostra quali grafici corrispondono ai componenti ibridi di Apigee:

AmbitoComponentiGrafico Helm
Operatore Apigee Operatore Apigee apigee-operator
Spazio di archiviazione Cassandra apigee-datastore
Spazio di archiviazione in memoria Redis apigee-redis
Report Logger
Metriche
apigee-telemetry
In entrata Gateway Ingress Apigee apigee-ingress-manager
Organization (Organizzazione) Agente Apigee Connect
MART
UDCA
Watcher
apigee-org
Ambiente Sincronizzatore
di runtime
apigee-env
Gruppo di ambienti virtualhost apigee-virtualhost

Ad esempio, per modificare il numero di repliche sul 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 tue esigenze. Ad esempio:
    ...
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 2
      replicaCountMax: 20
    ...
  4. Applica le modifiche con il grafico apigee-org:

      helm upgrade ORG_NAME apigee-org/ \
        --namespace apigee \
        --atomic \
        -f OVERRIDES_FILE.yaml
      

Quali proprietà di configurazione puoi modificare?

Puoi trovare l'elenco completo delle proprietà configurabili nel riferimento delle proprietà di configurazione. Il riferimento elenca solo le proprietà che puoi modificare; se provi a modificare una proprietà che non è presente nel riferimento, la modifica viene ignorata.

Come utilizzare il riferimento alla configurazione

Il riferimento alle proprietà di configurazione utilizza la notazione dei 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 di override, le proprietà sono formattate in YAML appropriato. Nell'esempio precedente, l'elemento ao di primo livello è rientrato a sinistra e le proprietà dei sottoelementi sono rientrate al di sotto. Inoltre, YAML richiede due punti alla fine di ogni elemento e elemento secondario.

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

ao:
  image:
    pullPolicy: Always

Per un altro esempio, la proprietà cassandra.auth.admin.password (indicata in Riferimento proprietà di configurazione) viene utilizzata per impostare la password di amministratore di Cassandra. Per modificarlo, individua il seguente YAML nel file di override e impostalo come segue:

cassandra:
  auth:
    admin:
      password: abc123

Ricorda, il riferimento alle proprietà di 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.

L'uso di esempi predefiniti 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 set completo di proprietà di configurazione per scenari di installazione specifici, ad esempio per l'impostazione di un'installazione di produzione o di prova. Devi solo fornire i valori appropriati per le proprietà e applicare il file di override al tuo cluster. Per ulteriori informazioni, consulta il Passaggio 6: creare le sostituzioni.

Informazioni sulle impostazioni predefinite della configurazione

Apigee mantiene 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.

In genere, un file di override include solo un sottoinsieme delle proprietà di configurazione trovate in values.yaml. Tieni presente 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 Testare la configurazione unita.

Il seguente codice mostra la configurazione predefinita per il componente mart nel criterio 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 qualsiasi dei valori predefiniti, assicurati che siano modificabili controllando la documentazione di 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à presente nel file di override, puoi copiare il relativo file YAML da values.yaml nel file di override e modificarlo lì.

Annotazioni personalizzate

Le annotazioni sono mappe chiave/valore utilizzate per collegare metadati ai pod ibridi di Apigee Kubernetes. Puoi creare annotazioni personalizzate per le seguenti proprietà elencate in Riferimento alle proprietà di configurazione:

Per aggiungere un'annotazione personalizzata, aggiungi una stanza al file OVERRIDES.yaml per il rispettivo componente.

L'esempio seguente illustra come specificare un'annotazione nei pod runtime:

runtime:
  annotations:
    businessunit: "bu1"

Testare la configurazione unita

Puoi utilizzare il flag --dry-run per testare il file di configurazione unito senza applicarlo effettivamente al tuo cluster. Questa opzione è utile per il debug di un problema di installazione perché mostra esattamente cosa verrà applicato al cluster. È buona norma anche testare la configurazione e archiviarla nel controllo del codice sorgente, in modo da avere un riferimento delle risorse installate e configurate nel cluster.

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

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 creare un cluster di test. Puoi quindi conservare questi file nel tuo sistema di controllo del codice sorgente.

Ad esempio:

helm upgrade test-1-env apigee-env/ \
  --namespace apigee \
  --atomic \
  --set env=test-1-env \
  -f test-1-env-overrides.yaml

Elimina i componenti del piano di runtime specifici per gli ambienti ibridi

I componenti del piano di runtime includono synchronizer, mart, runtime, cassandra e udca.

Per eliminare i componenti del piano di runtime specifico per l'ibrido dal cluster, utilizza il comando helm delete. Assicurati di specificare lo stesso file di override che hai utilizzato per installare i componenti di runtime.

Ad esempio:

Con Helm, devi eliminare ogni componente singolarmente. Ad esempio, per eliminare il componente cassandra, utilizza il comando seguente:

helm -n apigee delete datastore

Nell'esempio precedente, il componente datastore è stato installato con il nome "datastore". Se lo hai installato con un nome diverso, devi fornire questo nome per eliminare il componente. Ad esempio se hai installato il grafico apigee-datastore con helm install my-cassandra-storage apigee-datastore/. puoi eliminarlo con il comando seguente:

helm delete -n apigee my-cassandra-storage

Per ricreare uno o più componenti specifici (il gruppo di ambienti in questo esempio):

helm upgrade ENV_GROUP apigee-virtualhost/ \
  --install \
  --namespace apigee \
  --atomic \
  --set envgroup=ENV_GROUP_NAME \
  -f OVERRIDES_FILE.yaml