在 Kubernetes 中使用 Sidecar 容器

選取文件版本:

如果資料庫在 Kubernetes 叢集中執行,則可以將側車容器新增至資料庫叢集。Sidecar 容器會與主要容器並行獨立執行,並處理應用程式監控、記錄和追蹤的要求。您可以透過自訂代理程式,將記錄、指標和追蹤記錄匯出至 AlloyDB Omni 中您選擇的後端。

如果資料庫在 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_ARGS:在 Pod 中執行的容器指令引數。
    • CONTAINER_NAME:容器名稱。您可以在同一個 Sidecar CR 中加入多個容器,每個容器都有不同的容器名稱、映像檔、指令和引數。
  2. 如要確認是否已建立 Sidecar CR,請執行下列指令:

    kubectl describe 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 容器名稱,請完成下列步驟:

  1. 在資訊清單中,將 sidecarRef 屬性新增至資料庫叢集 spec 物件規格:

    sidecarRef:
      name: SIDECAR_CR_NAME
    
  2. 使用下列指令套用更新的規格:

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

後續步驟