Kubernetes에서 사이드카 컨테이너 사용

데이터베이스가 Kubernetes 클러스터에서 실행되는 경우 데이터베이스 클러스터에 부속 컨테이너를 추가할 수 있습니다. 사이드카 컨테이너는 기본 컨테이너와 함께 독립적으로 실행되며 애플리케이션 모니터링, 로깅, 추적 요청을 제공합니다. AlloyDB Omni에 맞춤 에이전트를 사용하여 로그, 측정항목, 트레이스를 원하는 백엔드로 내보낼 수 있습니다.

데이터베이스가 Kubernetes 클러스터에서 실행되는 경우 AlloyDB Omni Kubernetes Operator를 사용하여 데이터베이스 클러스터에 사이드카 컨테이너를 추가할 수 있습니다. AlloyDB Omni Operator 사이드카 컨테이너는 동일한 포드 내에서 기본 애플리케이션 컨테이너와 함께 독립적으로 실행되는 일반 Kubernetes 컨테이너입니다. 이러한 사이드카 컨테이너를 사용하여 애플리케이션 모니터링, 로깅, 추적 요청을 처리할 수 있습니다.

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: 사이드카 컨테이너에서 실행할 이미지가 포함된 파일의 이름입니다(예: busybox).
    • CONTAINER_COMMAND: 포드에서 실행되는 컨테이너의 명령어입니다. 명령어는 따옴표로 묶인 문자열 목록일 수 있습니다. 자세한 내용은 Pod 만들 때 명령어 및 인수 정의를 참고하세요.
    • CONTAINER_ARGS: 포드에서 실행되는 컨테이너의 명령어 인수입니다.
    • CONTAINER_NAME: 컨테이너의 이름입니다. 동일한 사이드카 CR에 여러 컨테이너를 보유할 수 있으며 각 컨테이너에는 서로 다른 컨테이너 이름, 이미지, 명령어, 인수가 있습니다.
  2. 사이드카 CR이 생성되었는지 확인하려면 다음 명령어를 실행합니다.

    kubectl describe 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>
    

사이드카 컨테이너 등록

사이드카 컨테이너 이름을 데이터베이스 클러스터에 등록하려면 다음 단계를 완료하세요.

  1. 매니페스트의 데이터베이스 클러스터 spec 객체 사양에 sidecarRef 속성을 추가합니다.

    sidecarRef:
      name: SIDECAR_CR_NAME
    
  2. 다음 명령어를 사용하여 업데이트된 사양을 적용합니다.

      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: 사이드카 컨테이너에 적용할 이름입니다.

다음 단계