在 Kubernetes 中使用 Sidecar 容器

選取說明文件版本:

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

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

如要手動將 Sidecar 容器新增至現有的 AlloyDB Omni 安裝項目,請建立 Sidecar 自訂資源 (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:補充容器的名稱。
    • 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>
    

註冊 Sidecar 容器

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

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:補充容器的名稱。

存取 Sidecar 容器的記錄

  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 應將記錄輸出至 Sidecar 容器中的路徑。
  2. 註冊新的或修改過的 Sidecar 容器。

後續步驟