Sidecar-Container in Kubernetes verwenden

Wählen Sie eine Dokumentationsversion aus:

Wenn Ihre Datenbank in einem Kubernetes-Cluster ausgeführt wird, können Sie Ihrem Datenbankcluster mithilfe des AlloyDB Omni Kubernetes-Operators Sidecar-Container hinzufügen. AlloyDB Omni-Operator-Sidecar-Container sind reguläre Kubernetes-Container, die unabhängig neben dem Hauptanwendungscontainer im selben Pod ausgeführt werden. Sie können diese Sidecar-Container verwenden, um Anfragen für Anwendungsmonitoring, Logging und Tracing zu verarbeiten.

AlloyDB Omni-Operator-Sidecar-Container unterscheiden sich von den integrierten Kubernetes-Sidecar-Containern.

Wenn Sie einer vorhandenen AlloyDB Omni-Installation manuell einen Sidecar-Container hinzufügen möchten, erstellen Sie eine benutzerdefinierte Sidecar-Ressource (Custom Resource, CR) und fügen Sie sie Ihrem Datenbankcluster hinzu.

Sidecar-CR erstellen

  1. Wenden Sie das folgende Manifest an:

    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
    

    Ersetzen Sie die folgenden Variablen:

    • SIDECAR_CR_NAME: der Name für Ihren Sidecar-Container.
    • CONTAINER_IMAGE: Der Name der Bilddatei, die in Ihrem Sidecar-Container ausgeführt werden soll. Beispiel: busybox.
    • CONTAINER_COMMAND: Der Befehl für den Container, der im Pod ausgeführt wird. Der Befehl kann eine Liste von in Anführungszeichen gesetzten Strings sein. Weitere Informationen finden Sie unter Befehl und Argumente beim Erstellen eines Pods definieren.
    • CONTAINER_ARGS: Argumente für CONTAINER_COMMAND.
    • CONTAINER_NAME: der Name des Containers. Sie können mehrere Container in derselben Sidecar-CR haben. Jeder Container hat einen anderen Containernamen, ein anderes Image, einen anderen Befehl und andere Argumente.
  2. Führen Sie den folgenden Befehl aus, um zu prüfen, ob die benutzerdefinierte Ressource für den Sidecar erstellt wurde:

    kubectl describe Sidecar/SIDECAR_CR_NAME

    Die Ausgabe sieht etwa so aus:

    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>
    

Sidecar-Container registrieren

Verwenden Sie den folgenden Befehl, um den Namen des Sidecar-Containers in Ihrem Datenbankcluster zu registrieren und die aktualisierte Spezifikation anzuwenden:

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

Ersetzen Sie die folgenden Variablen:

  • DB_CLUSTER_NAME: Der Name Ihres Datenbankclusters.
  • SIDECAR_CR_NAME: Der Name für Ihren Sidecar-Container.

Auf Logs aus einem Sidecar-Container zugreifen

  1. Erstellen oder ändern Sie einen vorhandenen Sidecar-Container, sodass spec.sidecars.volumeMounts.name auf obsdisk und spec.sidecars.volumeMounts.mountPath auf einen Pfad festgelegt ist, der im Sidecar-Container sichtbar ist.

      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
    

    Ersetzen Sie Folgendes:

    • SIDECAR_CR_NAME: Der Name für Ihren Sidecar-Container.
    • CONTAINER_IMAGE: Der Name der Image-Datei, die in Ihrem Sidecar-Container ausgeführt werden soll. Beispiel: busybox.
    • CONTAINER_COMMAND: Der Befehl für den Container, der im Pod ausgeführt wird. Der Befehl kann eine Liste von in Anführungszeichen gesetzten Strings sein. Weitere Informationen finden Sie unter Befehl und Argumente beim Erstellen eines Pods definieren.
    • CONTAINER_ARGS: die Argumente für CONTAINER_COMMAND.
    • CONTAINER_NAME: der Name des Containers. Sie können mehrere Container in derselben Sidecar-CR haben. Jeder Container hat einen anderen Containernamen, ein anderes Image, einen anderen Befehl und andere Argumente.
    • LOGS_PATH: der Pfad im Sidecar-Container, in den AlloyDB Omni Protokolle ausgeben soll.
  2. Registrieren Sie den neuen oder geänderten Sidecar-Container.

Nächste Schritte