Utiliser un conteneur sidecar dans Kubernetes

Si votre base de données s'exécute dans un cluster Kubernetes, vous pouvez ajouter des conteneurs sidecar à votre cluster de base de données. Les conteneurs Sidecar s'exécutent indépendamment à côté du conteneur principal et répondent aux requêtes de surveillance, de journalisation et de traçage des applications. Vous pouvez exporter des journaux, des métriques et des traces vers le backend de votre choix à l'aide d'agents personnalisés vers AlloyDB Omni.

Si votre base de données s'exécute dans un cluster Kubernetes, vous pouvez ajouter des conteneurs sidecar à votre cluster de base de données à l'aide de l'opérateur Kubernetes AlloyDB Omni. Les conteneurs side-car de l'opérateur AlloyDB Omni sont des conteneurs Kubernetes standards qui s'exécutent indépendamment du conteneur d'application principal dans le même pod. Vous pouvez utiliser ces conteneurs sidecar pour répondre aux requêtes de surveillance, de journalisation et de traçage des applications.

Les conteneurs sidecar de l'opérateur AlloyDB Omni sont distincts des conteneurs sidecar intégrés de Kubernetes.

Pour ajouter manuellement un conteneur sidecar à une installation AlloyDB Omni existante, vous devez créer une ressource personnalisée (CR) sidecar et l'ajouter à votre cluster de base de données.

Créer une demande de création de sidecar

  1. Appliquez le fichier manifeste suivant:

    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
    

    Remplacez les éléments suivants :

    • SIDECAR_CR_NAME: nom à appliquer à votre conteneur side-car.
    • CONTAINER_IMAGE: nom du fichier contenant l'image à exécuter dans le conteneur sidecar, par exemple busybox.
    • CONTAINER_COMMAND: commande du conteneur exécuté dans le pod. La commande peut être une liste de chaînes entre guillemets. Pour en savoir plus, consultez Définir une commande et des arguments lors de la création d'un pod.
    • CONTAINER_ARGS: arguments de la commande pour le conteneur exécuté dans le pod.
    • CONTAINER_NAME: nom du conteneur. Vous pouvez avoir plusieurs conteneurs dans le même CR de sidecar, et chaque conteneur a un nom, une image, une commande et des arguments différents.
  2. Pour vérifier que le CR de sidecar a été créé, exécutez la commande suivante:

    kubectl describe SIDECAR_CR_NAME
    

    Le résultat ressemble à ce qui suit :

    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>
    

Enregistrer un conteneur side-car

Pour enregistrer le nom du conteneur de sidecar dans votre cluster de base de données, procédez comme suit:

  1. Ajoutez l'attribut sidecarRef à la spécification de l'objet spec de votre cluster de base de données dans son fichier manifeste:

    sidecarRef:
      name: SIDECAR_CR_NAME
    
  2. Utilisez la commande suivante pour appliquer la spécification mise à jour:

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

    Remplacez les éléments suivants :

    • DB_CLUSTER_NAME: nom de votre cluster de base de données.
    • SIDECAR_CR_NAME: nom à appliquer à votre conteneur side-car.

Étape suivante