Utilizzare un contenitore sidecar in Kubernetes

Seleziona una versione della documentazione:

Se il database viene eseguito in un cluster Kubernetes, puoi aggiungere container sidecar al cluster di database utilizzando l'operatore AlloyDB Omni Kubernetes. I container sidecar dell'operatore AlloyDB Omni sono container Kubernetes standard 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 container sidecar dell'operatore AlloyDB Omni sono diversi da quelli integrati di Kubernetes sidecar containers.

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

Creare una CR 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 le seguenti variabili:

    • SIDECAR_CR_NAME: il nome del container sidecar.
    • CONTAINER_IMAGE: il nome del file immagine da eseguire nel container sidecar. Ad esempio, busybox.
    • CONTAINER_COMMAND: il comando per il container in esecuzione nel pod. Il comando può essere un elenco di stringhe tra virgolette. Per saperne di più, consulta Definire un comando e argomenti quando crei un pod.
    • CONTAINER_ARGS: gli argomenti per CONTAINER_COMMAND.
    • CONTAINER_NAME: il nome del container. Puoi avere più container nella stessa CR sidecar e ogni container ha un nome, un'immagine, un comando e argomenti diversi.
  2. Per verificare che la CR sidecar sia stata creata, esegui il comando seguente:

    kubectl describe Sidecar/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>
    

Registrare un container sidecar

Per registrare il nome del container sidecar nel cluster di database, utilizza il comando seguente 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 le seguenti variabili:

  • DB_CLUSTER_NAME: il nome del cluster di database.
  • SIDECAR_CR_NAME: il nome del container sidecar.

Accedere ai log da un container sidecar

  1. Crea o modifica un container sidecar esistente in modo che spec.sidecars.volumeMounts.name sia impostato su obsdisk e spec.sidecars.volumeMounts.mountPath su un percorso visibile all'interno del container sidecar.

      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
          volumeMounts:
            - name: obsdisk
              mountPath: LOGS_PATH
    

    Sostituisci quanto segue:

    • SIDECAR_CR_NAME: il nome del container sidecar.
    • CONTAINER_IMAGE: il nome del file immagine da eseguire nel container sidecar. Ad esempio, busybox.
    • CONTAINER_COMMAND: il comando per il container in esecuzione nel pod. Il comando può essere un elenco di stringhe tra virgolette. Per saperne di più, consulta Definire un comando e argomenti quando crei un pod.
    • CONTAINER_ARGS: gli argomenti per CONTAINER_COMMAND.
    • CONTAINER_NAME: il nome del container. Puoi avere più container nella stessa CR sidecar e ogni container ha un nome, un'immagine, un comando e argomenti diversi.
    • LOGS_PATH: il percorso all'interno del container sidecar in cui AlloyDB Omni deve scrivere i log.
  2. Registra il container sidecar nuovo o modificato.

Passaggi successivi