Gestione dei componenti del piano di runtime

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

Informazioni sul file delle sostituzioni

La prima volta che installi il runtime ibrido in un cluster, devi Crea un file di configurazione che sostituisce il file. 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 e applicare 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:

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

    Applica le modifiche con il grafico apigee-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 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:

ao.image.pullPolicy

Nel file degli override, le proprietà sono formattate nel formato YAML corretto. Nell'esempio riportato sopra, l'elemento ao di primo livello è rientrato a sinistra e le proprietà degli elementi secondari sono rientrate sotto. Inoltre, YAML richiede 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 override e impostala come segue:

ao:
  image:
    pullPolicy: Always

Un altro esempio è la proprietà cassandra.auth.admin.password (indicata nel riferimento per le proprietà di configurazione) utilizzata per impostare la password di amministrazione di Cassandra. 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 prova. 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 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 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: non tutte le proprietà sono modificabili. Quando applichi una configurazione a un cluster, le sostituzioni vengono unite alle impostazioni predefinite per creare la configurazione completa del cluster Kubernetes. Vedi 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 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: |
...

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

File di override di esempio

Apigee fornisce un insieme di file di override di esempio per aiutarti a configurare il deployment ibrido. È buona prassi copiare e modificare il file delle sostituzioni che corrisponde maggiormente 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 runtime ibrida. 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 componenti con stato e senza stato 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 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 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 in runtime pod:

runtime:
  annotations:
    businessunit: "bu1"

Testa la configurazione unita

Puoi utilizzare il flag --dry-run per testare l'unione di configurazione 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. È inoltre buona norma testare la configurazione e archiviarla nel controllo dell'origine in modo da avere un riferimento delle risorse installate e configurate 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 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 la 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

Eliminare i componenti del piano di runtime specifici di hybrid

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

Per eliminare dal cluster i componenti del piano di runtime specifici per ibrido, utilizza 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

Con Helm, devi eliminare ogni componente singolarmente. Ad esempio, per eliminare il componente cassandra, utilizza il seguente comando:
helm -n apigee delete datastore

Nell'esempio precedente, il componente del datastore è stato installato con il nome "datastore". Se l'hai installato con un nome diverso, devi fornire quel nome per eliminare di strumento di authoring. 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