如果您的数据库在 Kubernetes 集群中运行,则可以使用 AlloyDB Omni Kubernetes operator 将边车容器添加到数据库集群。AlloyDB Omni operator 边车容器是常规的 Kubernetes 容器,可在同一 Pod 中与主应用容器一起独立运行。您可以使用这些 Sidecar 容器来处理应用监控、日志记录和跟踪请求。
AlloyDB Omni operator 侧边容器不同于 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 中包含多个容器,每个容器都有不同的容器名称、映像、命令和参数。
如需验证是否已创建 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
:边车容器的名称。
访问 Sidecar 容器的日志
创建或修改现有 sidecar 容器,将
spec.sidecars.volumeMounts.name
设置为obsdisk
,并将spec.sidecars.volumeMounts.mountPath
设置为在 sidecar 容器中可见的路径。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 应将日志输出到的 Sidecar 容器内的路径。
注册新的或经过修改的 Sidecar 容器。