Use um contentor sidecar no Kubernetes

Selecione uma versão da documentação:

Se a sua base de dados for executada num cluster do Kubernetes, pode adicionar contentores auxiliares ao cluster da base de dados através do operador do Kubernetes do AlloyDB Omni. Os contentores auxiliares do operador do AlloyDB Omni são contentores normais do Kubernetes que são executados de forma independente juntamente com o contentor da aplicação principal no mesmo pod. Pode usar estes contentores auxiliares para atender pedidos de monitorização, registo e rastreio de aplicações.

Os contentores auxiliares do lado do operador do AlloyDB Omni são diferentes dos contentores auxiliares incorporados do Kubernetes.

Para adicionar manualmente um contentor auxiliar a uma instalação do AlloyDB Omni existente, crie um recurso personalizado (CR) auxiliar e adicione-o ao cluster de base de dados.

Crie 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 as seguintes variáveis:

    • SIDECAR_CR_NAME: o nome do contentor auxiliar.
    • CONTAINER_IMAGE: o nome do ficheiro de imagem a executar no contentor auxiliar. Por exemplo, busybox.
    • CONTAINER_COMMAND: o comando para o contentor que é executado no agrupamento. O comando pode ser uma lista de strings entre aspas. Para mais informações, consulte o artigo Defina um comando e argumentos quando criar um pod.
    • CONTAINER_ARGS: argumentos para CONTAINER_COMMAND.
    • CONTAINER_NAME: o nome do contentor. Pode ter vários contentores no mesmo CR sidecar e cada contentor 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 é semelhante ao seguinte:

    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>
    

Registe um contentor sidecar

Para registar o nome do contentor auxiliar no cluster da base de dados, use o seguinte comando 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 as seguintes variáveis:

  • DB_CLUSTER_NAME: o nome do cluster da base de dados.
  • SIDECAR_CR_NAME: o nome do contentor auxiliar.

Aceda aos registos a partir de um contentor sidecar

  1. Crie ou modifique um contentor auxiliar existente para que spec.sidecars.volumeMounts.name esteja definido como obsdisk e spec.sidecars.volumeMounts.mountPath para um caminho visível no contentor auxiliar.

      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
    

    Substitua o seguinte:

    • SIDECAR_CR_NAME: o nome do contentor auxiliar.
    • CONTAINER_IMAGE: o nome do ficheiro de imagem a executar no contentor suplementar. Por exemplo, busybox.
    • CONTAINER_COMMAND: o comando para o contentor que é executado no pod. O comando pode ser uma lista de strings entre aspas. Para mais informações, consulte Defina um comando e argumentos quando criar um pod.
    • CONTAINER_ARGS: os argumentos para CONTAINER_COMMAND.
    • CONTAINER_NAME: o nome do contentor. Pode ter vários contentores no mesmo CR sidecar e cada contentor tem um nome, uma imagem, um comando e argumentos diferentes.
    • LOGS_PATH: o caminho no contentor auxiliar para o qual o AlloyDB Omni deve enviar os registos.
  2. Registe o contentor suplementar novo ou modificado.

O que se segue?