Sidecar-Container in Kubernetes verwenden

Wenn Ihre Datenbank in einem Kubernetes-Cluster ausgeführt wird, können Sie Ihrem Datenbankcluster Sidecar-Container hinzufügen. Sidecar-Container werden unabhängig neben dem Hauptcontainer ausgeführt und bedienen Anfragen für die Anwendungsüberwachung, ‑protokollierung und ‑verfolgung. Sie können Logs, Messwerte und Traces mithilfe benutzerdefinierter Agenten in AlloyDB Omni in das Backend Ihrer Wahl exportieren.

Wenn Ihre Datenbank in einem Kubernetes-Cluster ausgeführt wird, können Sie Ihrem Datenbankcluster mit dem AlloyDB Omni Kubernetes-Operator Sidecar-Container hinzufügen. Die Sidecar-Container des AlloyDB Omni-Operators 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 das Anwendungsmonitoring, das Logging und das Tracing zu bedienen.

Die Sidecar-Container des AlloyDB Omni-Operators unterscheiden sich von den in Kubernetes integrierten Sidecar-Containern.

Wenn Sie einer vorhandenen AlloyDB Omni-Installation manuell einen Sidecar-Container hinzufügen möchten, erstellen Sie eine benutzerdefinierte Sidecar-Ressource (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 Folgendes:

    • SIDECAR_CR_NAME: Der Name, der auf Ihren Sidecar-Container angewendet werden soll.
    • CONTAINER_IMAGE: der Name der Datei mit dem Image, das im Sidecar-Container ausgeführt werden soll, z. B. busybox.
    • CONTAINER_COMMAND: Der Befehl für den Container, der im Pod ausgeführt wird. Der Befehl kann eine Liste von Anführungszeichen enthalten. Weitere Informationen finden Sie unter Befehl und Argumente beim Erstellen eines Pods definieren.
    • CONTAINER_ARGS: die Argumente für den Befehl für den Container, der im Pod ausgeführt wird.
    • CONTAINER_NAME: der Name des Containers. Sie können mehrere Container im selben 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 überprüfen, ob die Sidecar-Kopie erstellt wurde:

    kubectl describe SIDECAR_CR_NAME
    

    Die Ausgabe sieht in 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

Führen Sie die folgenden Schritte aus, um den Namen des Sidecar-Containers bei Ihrem Datenbankcluster zu registrieren:

  1. Fügen Sie das sidecarRef-Attribut der spec-Objektspezifikation Ihres Datenbankclusters im Manifest hinzu:

    sidecarRef:
      name: SIDECAR_CR_NAME
    
  2. Verwenden Sie den folgenden Befehl, um 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 Folgendes:

    • DB_CLUSTER_NAME: Der Name Ihres Datenbankclusters.
    • SIDECAR_CR_NAME: Der Name, der auf Ihren Sidecar-Container angewendet werden soll.

Nächste Schritte