Utilizzare un contenitore sidecar in Kubernetes

Seleziona una versione della documentazione:

Se il tuo 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 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 container sidecar dell'operatore AlloyDB Omni sono diversi dai container sidecar integrati in Kubernetes.

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

Crea un 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 contenitore sidecar.
    • CONTAINER_IMAGE: il nome del file immagine da eseguire nel container sidecar. Ad esempio, busybox.
    • CONTAINER_COMMAND: il comando per il container che viene eseguito nel pod. Il comando può essere un elenco di stringhe tra virgolette. Per saperne di più, vedi Definisci un comando e argomenti quando crei un pod.
    • CONTAINER_ARGS: argomenti per CONTAINER_COMMAND.
    • CONTAINER_NAME: il nome del contenitore. Puoi avere più container nello stesso 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 questo comando:

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

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

Accedere ai log da un container collaterale

  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 collaterale. Ad esempio, busybox.
    • CONTAINER_COMMAND: il comando per il container che viene eseguito nel pod. Il comando può essere un elenco di stringhe tra virgolette. Per ulteriori informazioni, consulta Definisci un comando e argomenti quando crei un pod.
    • CONTAINER_ARGS: gli argomenti per CONTAINER_COMMAND.
    • CONTAINER_NAME: il nome del contenitore. Puoi avere più container nello stesso 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 generare i log.
  2. Registra il nuovo container sidecar o quello modificato.

Passaggi successivi