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 à l'aide de l'opérateur AlloyDB Omni Kubernetes. 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 side-car pour traiter les 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 Kubernetes intégrés.

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 variables suivantes :

    • SIDECAR_CR_NAME : nom de votre conteneur side-car.
    • CONTAINER_IMAGE : nom du fichier image à exécuter dans votre conteneur side-car. 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 lorsque vous créez un pod.
    • CONTAINER_ARGS : arguments pour CONTAINER_COMMAND.
    • 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/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 bases de données, 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 variables suivantes :

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

Accéder aux journaux d'un conteneur side-car

  1. Créez ou modifiez un conteneur side-car existant afin que spec.sidecars.volumeMounts.name soit défini sur obsdisk et spec.sidecars.volumeMounts.mountPath sur un chemin d'accès visible dans le conteneur side-car.

      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
    

    Remplacez les éléments suivants :

    • SIDECAR_CR_NAME : nom de votre conteneur side-car.
    • CONTAINER_IMAGE : nom du fichier image à exécuter dans votre conteneur side-car. 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 pour CONTAINER_COMMAND.
    • CONTAINER_NAME : nom du conteneur. Vous pouvez avoir plusieurs conteneurs dans la même CR de side-car. Chaque conteneur a un nom, une image, une commande et des arguments différents.
    • LOGS_PATH : chemin d'accès dans le conteneur side-car où AlloyDB Omni doit générer les journaux.
  2. Enregistrez votre conteneur side-car nouveau ou modifié.

Étapes suivantes