在 Kubernetes 中使用 Sidecar 容器

選取說明文件版本:

如果資料庫在 Kubernetes 叢集中執行,可以使用 AlloyDB Omni Kubernetes 運算子,將 Sidecar 容器新增至資料庫叢集。AlloyDB Omni 運算子輔助容器是標準的 Kubernetes 容器,會在同一個 Pod 中與主要應用程式容器並行獨立執行。您可以使用這些邊車容器,提供應用程式監控、記錄和追蹤的要求。

AlloyDB Omni 運算子輔助資訊容器與 Kubernetes 內建輔助資訊容器不同。

如要手動將邊車容器新增至現有的 AlloyDB Omni 安裝項目,請建立邊車自訂資源 (CR),並將其新增至資料庫叢集。

建立 Sidecar CR

  1. 套用下列資訊清單:

    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
    

    請替換下列變數:

    • SIDECAR_CR_NAME:Sidecar 容器的名稱。
    • CONTAINER_IMAGE:要在邊車容器中執行的映像檔檔案名稱。例如:busybox
    • CONTAINER_COMMAND:在 Pod 中執行的容器指令。指令可以是引號括住的字串清單。 詳情請參閱「建立 Pod 時定義指令和引數」。
    • CONTAINER_ARGSCONTAINER_COMMAND 的引數。
    • CONTAINER_NAME:容器名稱。您可以在同一個 Sidecar CR 中加入多個容器,每個容器都有不同的容器名稱、映像檔、指令和引數。
  2. 如要確認是否已建立 Sidecar CR,請執行下列指令:

    kubectl describe Sidecar/SIDECAR_CR_NAME

    輸出結果會與下列內容相似:

    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>
    

註冊邊車容器

如要將邊車容器名稱註冊至資料庫叢集,請使用下列指令套用更新的規格:

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

請替換下列變數:

  • DB_CLUSTER_NAME:資料庫叢集名稱。
  • SIDECAR_CR_NAME:邊車容器的名稱。

存取邊車容器的記錄

  1. 建立或修改現有的邊車容器,將 spec.sidecars.volumeMounts.name 設為 obsdisk,並將 spec.sidecars.volumeMounts.mountPath 設為邊車容器內可見的路徑。

      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
    

    更改下列內容:

    • SIDECAR_CR_NAME:邊車容器的名稱。
    • CONTAINER_IMAGE:要在邊車容器中執行的映像檔檔案名稱。例如:busybox
    • CONTAINER_COMMAND:在 Pod 中執行的容器指令。指令可以是引號括住的字串清單。詳情請參閱「在建立 Pod 時定義指令和引數」。
    • CONTAINER_ARGSCONTAINER_COMMAND 的引數。
    • CONTAINER_NAME:容器名稱。您可以在同一個 Sidecar CR 中有多個容器,每個容器都有不同的容器名稱、映像檔、指令和引數。
    • LOGS_PATH:AlloyDB Omni 應將記錄輸出至邊車容器中的路徑。
  2. 註冊新的或修改過的 Sidecar 容器。

後續步驟