如果您的数据库在 Kubernetes 集群中运行,则可以使用 AlloyDB Omni Kubernetes 操作器向数据库集群添加边车容器。AlloyDB Omni 操作器边车容器是常规 Kubernetes 容器,可独立地与主要应用容器一起在同一个 Pod 中运行。您可以使用这些边车容器来处理应用监控、日志记录和跟踪方面的请求。
AlloyDB Omni 操作器边车容器与 Kubernetes 内置的边车容器不同。
如需将边车容器手动添加到现有的 AlloyDB Omni 安装,请创建边车自定义资源 (CR) 并将其添加到数据库集群。
创建边车 CR
应用以下清单:
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
:CONTAINER_COMMAND
的参数。CONTAINER_NAME
:容器的名称。您可以在同一个边车 CR 中包含多个容器,并且每个容器都有不同的容器名称、映像、命令和参数。
如需验证是否已创建边车 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
:边车容器的名称。
从边车容器访问日志
创建或修改现有边车容器,以便将
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_ARGS
:CONTAINER_COMMAND
的参数。CONTAINER_NAME
:容器的名称。您可以在同一个边车 CR 中包含多个容器,并且每个容器都有不同的容器名称、映像、命令和参数。LOGS_PATH
:AlloyDB Omni 应将日志输出到的边车容器中的路径。
注册新的或修改过的边车容器。