在 Kubernetes 中使用边车容器

如果您的数据库在 Kubernetes 集群中运行,则可以使用 AlloyDB Omni Kubernetes operator 将边车容器添加到数据库集群。AlloyDB Omni operator 辅助容器是常规的 Kubernetes 容器,可与同一 Pod 中的主应用容器一起独立运行。您可以使用这些 Sidecar 容器来处理应用监控、日志记录和跟踪请求。

AlloyDB Omni operator 边车容器不同于 Kubernetes 内置的边车容器

如需手动将边车容器添加到现有的 AlloyDB Omni 安装,您需要创建边车自定义资源 (CR) 并将其添加到数据库集群。

创建边车 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:包含要在 Sidecar 容器中运行的映像的文件的名称,例如 busybox
    • CONTAINER_COMMAND:在 Pod 中运行的容器的命令。该命令可以是带引号的字符串列表。如需了解详情,请参阅在创建 Pod 时定义命令和参数
    • CONTAINER_ARGS:在 Pod 中运行的容器的命令的参数。
    • CONTAINER_NAME:容器的名称。您可以在同一个边车 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:要应用于边车容器的名称。

后续步骤