Utiliser un conteneur sidecar dans Kubernetes

Sélectionnez une version de la documentation :

Si votre base de données s'exécute dans un cluster Kubernetes, vous pouvez ajouter des conteneurs side-car à votre cluster de base de données. Les conteneurs side-car s'exécutent indépendamment du conteneur principal et traitent les 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 side-car à 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 à côté du conteneur d'application principal dans le même pod. Vous pouvez utiliser ces conteneurs side-car pour répondre aux requêtes de surveillance, de journalisation et de traçage des applications.

Les conteneurs side-car de l'opérateur AlloyDB Omni sont différents des conteneurs side-car intégrés à Kubernetes.

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

Créer un CR de side-car

  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 side-car, par exemple busybox.
    • CONTAINER_COMMAND : commande du conteneur qui s'exécute 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 lorsque vous créez un pod.
    • CONTAINER_ARGS : arguments de la commande pour le conteneur qui s'exécute dans le pod.
    • CONTAINER_NAME : nom du conteneur. Vous pouvez avoir plusieurs conteneurs dans le même CR de side-car. Chaque conteneur possède un nom, une image, une commande et des arguments différents.
  2. Pour vérifier que le CR du side-car 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 side-car 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 bases de données.
    • SIDECAR_CR_NAME : nom à appliquer à votre conteneur side-car.

Étapes suivantes