Usar um contêiner sidecar no Kubernetes

Se o banco de dados for executado em um cluster do Kubernetes, será possível adicionar contêineres sidecar ao cluster do banco de dados usando o operador AlloyDB Omni Kubernetes. Os contêineres secundários do operador do AlloyDB Omni são contêineres Kubernetes normais que são executados de forma independente ao lado do contêiner do aplicativo principal no mesmo pod. É possível usar esses contêineres secundários para atender solicitações de monitoramento, registro e rastreamento de aplicativos.

Os contêineres de sidecar do operador do AlloyDB Omni são diferentes dos contêineres de sidecar integrados do Kubernetes.

Para adicionar manualmente um contêiner de sidecar a uma instalação do AlloyDB Omni, crie um recurso personalizado (CR, na sigla em inglês) de sidecar e adicione-o ao cluster de banco de dados.

Criar um CR de sidecar

  1. Aplique o seguinte manifesto:

    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
    

    Substitua:

    • SIDECAR_CR_NAME: o nome a ser aplicado ao contêiner do sidecar.
    • CONTAINER_IMAGE: o nome do arquivo que contém a imagem a ser executada no contêiner de arquivos secundários, por exemplo, busybox.
    • CONTAINER_COMMAND: o comando para o contêiner executado no pod. O comando pode ser uma lista de strings entre aspas. Para mais informações, consulte Definir um comando e argumentos ao criar um pod.
    • CONTAINER_ARGS: os argumentos do comando para o contêiner executado no pod.
    • CONTAINER_NAME: o nome do contêiner. É possível ter vários contêineres no mesmo CR de sidecar, e cada contêiner tem um nome, uma imagem, um comando e argumentos diferentes.
  2. Para verificar se o CR do sidecar foi criado, execute o seguinte comando:

    kubectl describe Sidecar/SIDECAR_CR_NAME

    O resultado será assim:

    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>
    

Registrar um contêiner de arquivo secundário

Para registrar o nome do contêiner sidecar no cluster do banco de dados, use o comando abaixo para aplicar a especificação atualizada:

kubectl patch dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -p '{"spec":{"primarySpec":{"sidecarRef":{"name":"SIDECAR_CR_NAME"}}}}' --type=merge

Substitua:

  • DB_CLUSTER_NAME: o nome do cluster do banco de dados.
  • SIDECAR_CR_NAME: o nome a ser aplicado ao contêiner do sidecar.

A seguir