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

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 ti consente di ignorare i valori di configurazione predefiniti come necessario, configurare gli ambienti, fare riferimento ai certificati TLS e alle chiavi dell'account servizio, assegnare i pool di nodi Kubernetes a componenti ibridi specifici 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, modifica il file degli override e utilizza Helm per eseguire l'upgrade del grafico corrispondente al componente. Il grafico seguente mostra quali grafici corrispondono a quali componenti ibridi Apigee:

AmbitoComponentiGrafico Helm
Operatore Apigee Operatore Apigee apigee-operator
Spazio di archiviazione Cassandra apigee-datastore
Archiviazione in memoria Redis apigee-redis
Report Logger
Metrics
apigee-telemetry
In entrata Gateway Apigee Ingress apigee-ingress-manager
Organization (Organizzazione) Agente Apigee Connect
MART
UDCA
Watcher
apigee-org
Ambiente Runtime
Synchronizer
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 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: 20
    ...
  4. Esegui l'upgrade dell'ambiente.
  5. Devi installare un ambiente alla volta. Specifica l'ambiente con --set env=ENV_NAME.

    Prova:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
    --install \
    --namespace APIGEE_NAMESPACE \
    --set env=ENV_NAME \
    -f OVERRIDES_FILE \
    --dry-run
    
    • ENV_RELEASE_NAME è il nome con cui hai installato in precedenza la Grafico apigee-env. In Hybrid v1.10, in genere è apigee-env-ENV_NAME. Nella versione ibrida v1.11 e successive in genere è ENV_NAME.
    • ENV_NAME è il nome dell'ambiente di cui stai eseguendo l'upgrade.
    • OVERRIDES_FILE è il nuovo file delle sostituzioni per la versione 1.3.6
  6. Esegui l'upgrade del grafico:
  7. helm upgrade ENV_RELEASE_NAME apigee-env/ \
    --install \
    --namespace APIGEE_NAMESPACE \
    --set env=ENV_NAME \
    -f OVERRIDES_FILE
    
  8. Verifica che sia attivo e funzionante controllando lo stato del rispettivo ambiente:
  9. kubectl -n APIGEE_NAMESPACE get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    apigee-org1-dev-xxx            running     2d

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 a 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 delle sostituzioni, le proprietà sono formattate in YAML corretto. Per l'esempio precedente, l'elemento ao di primo livello è rientrato a sinistra e le proprietà dell'elemento secondario sono rientrate sotto di esso. Inoltre, YAML richiede i 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 delle sostituzioni 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 proprietà di configurazione descrive tutte le proprietà che puoi impostare. sui componenti del piano di runtime ibrido. 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 ibrida, 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. Devi solo fornire i valori appropriati per le proprietà e applica il file degli override al cluster. Per ulteriori informazioni, consulta Passaggio 6: crea le sostituzioni.

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.

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, le sostituzioni vengono unite alle impostazioni predefinite per creare la configurazione completa del cluster Kubernetes. Consulta anche Testa la configurazione unita.

Il codice seguente mostra la configurazione predefinita per il componente mart in values.yaml. Alcuni valori hanno i 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 dei valori predefiniti, assicurati che siano modificabili controllandoli nel 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: |
...

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

Annotazioni personalizzate

Le annotazioni sono mappe chiave/valore utilizzate per collegare metadati ai pod Kubernetes ibridi di Apigee. 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 nei pod runtime

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

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 pubblica una specifica requisito. 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 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

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 Comando helm delete. Assicurati di specificare lo stesso file delle sostituzioni utilizzato per installare i componenti di runtime.

Ad esempio:

Se utilizzi Helm, devi eliminare ogni componente singolarmente. Ad esempio, per eliminare cassandra, usa questo comando:

helm -n apigee delete datastore

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

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