Utilizzare un contenitore sidecar in Kubernetes

Se il database viene eseguito in un cluster Kubernetes, puoi aggiungere container sidecar al cluster del database. I contenitori sidecar vengono eseguiti in modo indipendente insieme al contenitore principale e gestiscono le richieste di monitoraggio, logging e tracciamento delle applicazioni. Puoi esportare log, metriche e tracce nel backend che preferisci utilizzando agenti personalizzati in AlloyDB Omni.

Se il tuo database viene eseguito in un cluster Kubernetes, puoi aggiungere contenitori sidecar al cluster del database utilizzando l'operatore Kubernetes AlloyDB Omni. I container sidecar dell'operatore AlloyDB Omni sono normali container Kubernetes che vengono eseguiti in modo indipendente insieme al container dell'applicazione principale all'interno dello stesso pod. Puoi utilizzare questi container sidecar per gestire le richieste di monitoraggio, logging e tracciamento delle applicazioni.

I contenitori sidecar dell'operatore AlloyDB Omni sono diversi dai contenitori sidecar integrati di Kubernetes.

Per aggiungere manualmente un contenitore sidecar a un'installazione AlloyDB Omni esistente, crea una risorsa personalizzata (RP) sidecar e aggiungila al cluster del database.

Crea una richiesta di assistenza sidecar

  1. Applica il seguente manifest:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: Sidecar
    metadata:
     name: SIDECAR_CR_NAME
    spec:
     sidecars:
     — image: CONTAINER_IMAGE
       command: ["CONTAINER_COMMAND"]
       args: ["CONTAINER_ARGS"]
       name: CONTAINER_NAME
    

    Sostituisci quanto segue:

    • SIDECAR_CR_NAME: il nome da applicare al contenitore sidecar.
    • CONTAINER_IMAGE: il nome del file contenente l'immagine da eseguire nel contenitore sidecar, ad esempio busybox.
    • CONTAINER_COMMAND: il comando per il contenitore in esecuzione nel pod. Il comando può essere un elenco di stringhe tra virgolette. Per ulteriori informazioni, vedi Definire un comando e gli argomenti quando crei un pod.
    • CONTAINER_ARGS: gli argomenti per il comando del contenitore che viene eseguito nel pod.
    • CONTAINER_NAME: il nome del contenitore. Puoi avere più contenitori nella stessa risorsa di controllo sidecar e ogni contenitore ha un nome, un'immagine, un comando e argomenti diversi.
  2. Per verificare che il CR sidecar sia stato creato, esegui il seguente comando:

    kubectl describe SIDECAR_CR_NAME
    

    L'output è simile al seguente:

    Name:  SIDECAR_CR_NAME
    Labels:       <none>
    Annotations:  <none>
    API Version:  alloydbomni.dbadmin.goog/v1
    Kind:         Sidecar
    Metadata:
      Creation Timestamp:  2024-04-15T21:49:00Z
      Finalizers:
        sidecars.dbadmin.goog/finalizer
      Generation:        2
      Resource Version:  2561336
      UID:               e57f2e13-20c5-4905-b13b-39203bab36b4
    Spec:
      Sidecars:
        Args:
          CONTAINER_ARGS
        Command:
          CONTAINER_COMMAND
        Image:  CONTAINER_IMAGE
        Name:   CONTAINER_NAME
        Resources:
    Status:
      Observed Generation:  2
      Reconciled:           true
    Events:                 <none>
    

Registra un contenitore sidecar

Per registrare il nome del contenitore sidecar nel cluster di database:

  1. Aggiungi l'attributo sidecarRef alla specifica dell'oggetto spec del cluster di database nel relativo manifest:

    sidecarRef:
      name: SIDECAR_CR_NAME
    
  2. Utilizza il seguente comando per applicare la specifica aggiornata:

      kubectl patch dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -p '{"spec":{"primarySpec":{"sidecarRef":{"name":SIDECAR_CR_NAME}}}}' --type=merge

    Sostituisci quanto segue:

    • DB_CLUSTER_NAME: il nome del cluster di database.
    • SIDECAR_CR_NAME: il nome da applicare al contenitore sidecar.

Passaggi successivi