로그 전달을 위한 Fluent Bit 설치

이 항목에서는 Fluent Bit를 Tanzu Kubernetes Grid의 독립형 관리 또는 워크로드 클러스터에 배포하는 방법을 설명합니다.

Fluent Bit는 경량 로그 프로세서 및 전달자입니다. Tanzu Kubernetes Grid의 이번 릴리스에서 제공되는 Fluent Bit 구현을 사용하면 vSphere 8, AWS(Amazon Web Services), Azure에서 실행되는 클러스터에서 로그를 수집할 수 있습니다. 그런 다음 Elastic Search, Kafka, Splunk 또는 HTTP 끝점과 같은 로그 스토리지 제공자로 전달할 수 있습니다.

로그를 수집하려는 모든 독립형 관리 클러스터 또는 워크로드 클러스터에 Fluent Bit를 배포할 수 있습니다. 먼저 사용하는 끝점에 따라 로그를 수집하려는 클러스터에 출력 플러그인을 구성합니다. 그런 다음 클러스터에 Fluent Bit를 배포합니다.

사전 요구 사항

Fluent Bit 배포를 위해 클러스터 준비

참고

로그를 수집하려는 각 클러스터에 Fluent Bit를 배포해야 합니다.

클러스터를 준비하려면 다음을 수행합니다.

  1. Fluent Bit를 배포할 클러스터의 관리 자격 증명을 가져옵니다. 예:

    tanzu cluster kubeconfig get my-cluster --admin
    
  2. kubectl의 컨텍스트를 클러스터로 설정합니다. 예:

    kubectl config use-context my-cluster-admin@my-cluster
    

클러스터에 Fluent Bit 배포

클러스터에 Fluent Bit를 배포하려면 아래 절차를 따르십시오.

  1. 클러스터에 Fluent Bit 패키지가 설치된 패키지 저장소(예: tanzu-standard 저장소)가 없는 경우 설치합니다.

    tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
    

    여기서:

    • PACKAGE-REPO-NAME은 패키지 저장소의 이름(예: tanzu-standard 또는 ADDITIONAL_IMAGE_REGISTRY 변수로 구성된 개인 이미지 레지스트리의 이름입니다.
    • PACKAGE-REPO-ENDPOINT는 패키지 저장소의 URL입니다.

      • 이 릴리스의 경우 tanzu-standard URL은 projects.registry.vmware.com/tkg/packages/standard/repo:v2023.10.16입니다. Tanzu CLI에서 이 값을 가져오려면 패키지 저장소 나열을 참조하거나 Tanzu Mission Control의 클러스터(Cluster) 창에서 추가 기능(Addons) > 저장소(Repositories) 목록을 참조하십시오.
  2. 아직 설치하지 않은 경우 클러스터에 cert-manager를 설치합니다. 지침은 인증 관리를 위한 cert-manager 설치를 참조하십시오.

  3. 클러스터에서 Fluent Bit 패키지를 사용할 수 있는지 확인합니다.

    tanzu package available list -A
    
  4. 사용 가능한 패키지의 버전을 검색합니다.

    tanzu package available list fluent-bit.tanzu.vmware.com -A
    
  5. Fluent Bit 패키지에 대한 구성 파일을 준비합니다.

    1. 패키지의 기본 구성을 검색합니다.

      tanzu package available get fluent-bit.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
      

      여기서 PACKAGE-VERSION은 설치하려는 Fluent Bit 패키지의 버전이며 FILE-PATH는 구성 파일을 저장할 위치입니다(예: fluent-bit-data-values.yaml).

    2. 구성하려는 로그 관리 백엔드를 기반으로 fluent-bit-data-values.yaml 파일의 fluent_bit.config.outputs 키에 하나 이상의 [Output] 구성을 추가합니다.

    3. 검토하고 필요한 경우 다른 구성 매개 변수를 수정합니다. fluent-bit-data-values.yaml에서 설정할 수 있는 구성 매개 변수의 전체 목록 링크는 아래의 Fluent Bit 패키지 구성 매개 변수를 참조하십시오.

  6. fluent-bit-data-values.yaml 파일을 준비한 후 파일의 모든 주석을 제거합니다.

    yq -i eval '... comments=""' fluent-bit-data-values.yaml
    
  7. tanzu package install을 실행하여 패키지를 배포합니다.

    tanzu package install fluent-bit \
    --package fluent-bit.tanzu.vmware.com \
    --version AVAILABLE-PACKAGE-VERSION \
    --values-file fluent-bit-data-values.yaml \
    --namespace TARGET-NAMESPACE
    

    여기서:

    • TARGET-NAMESPACE는 Fluent Bit 패키지를 설치하려는 네임스페이스입니다. 예: my-packages 네임스페이스.

      • --namespace 플래그를 지정하지 않으면 Tanzu CLI는 default 네임스페이스를 사용합니다. Fluent Bit 포드 및 Fluent Bit 구성 요소와 연결된 기타 리소스는 fluent-bit-data-values.yaml에 제공한 네임스페이스에 생성됩니다. Fluent Bit 패키지를 이 네임스페이스에 설치하지 마십시오.
      • 지정된 네임스페이스가 이미 존재해야 합니다(예: kubectl create namespace my-packages 실행).
    • AVAILABLE-PACKAGE-VERSION은 위에서 tanzu package available을 실행하여 검색한 버전입니다.

    예:

    tanzu package install fluent-bit --package fluent-bit.tanzu.vmware.com --namespace my-packages --version 2.1.2+vmware.1-tkg.1
    

Fluent Bit 패키지 구성 매개 변수

다음 표에는 Fluent Bit 패키지의 구성 매개 변수가 나와 있고, 해당 기본값을 설명합니다. 위의 클러스터에 Fluent Bit 배포에서 생성된 fluent-bit-data-values.yml 파일에 다음 구성 값을 설정할 수 있습니다.

매개 변수 설명 유형 기본값
namespace Fluent Bit가 배포될 네임스페이스. 문자열 tanzu-system-logging
fluent_bit.config.outputs Fluent Bit 출력의 구성에 대한 자세한 내용은 Fluent Bit 설명서를 참조하십시오. 다중 라인 YAML Standard output
fluent_bit.config.parsers Fluent Bit 구문 분석기의 구성에 대한 자세한 내용은 Fluent Bit 설명서를 참조하십시오. 다중 라인 YAML JSON parser
fluent_bit.config.plugins Fluent Bit 플러그인 구성의 내용. 문자열 <nil>
fluent_bit.config.service Fluent Bit 서비스의 구성에 대한 자세한 내용은 Fluent Bit 설명서를 참조하십시오. 다중 라인 YAML 기본 Fluent Bit 서비스 구성.
fluent_bit.config.streams Fluent Bit 스트림 파일의 내용. 문자열 <nil>
fluent_bit.config.filters Fluent Bit 필터에 대한 구성에 대한 자세한 내용은 Fluent Bit 설명서를 참조하십시오. 다중 라인 YAML 기본 Kubernetes 필터.
fluent_bit.config.inputs Fluent Bit 입력의 구성에 대한 자세한 내용은 Fluent Bit 설명서를 참조하십시오. 문자열 tail 플러그인을 사용하여 Kubernetes 컨테이너 로그를 수집하고 Kubelet에서 systemd 로그를 수집합니다.
fluent_bit.daemonset.resources Fluent Bit 컨테이너 리소스 요구 사항의 구성에 대한 자세한 내용은 Fluent Bit 설명서를 참조하십시오. 다중 라인 YAML <nil>
fluent_bit.daemonset.podAnnotations Fluent Bit 배포 포드 주석. 목록 <nil>
fluent_bit.daemonset.podLabels Fluent Bit 배포 포드 레이블. 목록 <nil>

Fluent Bit 배포 확인

Fluent Bit를 배포한 후 배포가 성공했는지 확인할 수 있습니다.

  1. fluent-bit 패키지가 설치되어 있는지 확인합니다. 예:

    tanzu package installed list -A
    

    fluent-bit 패키지 및 fluent-bit 애플리케이션은 tanzu package install 명령을 실행할 때 지정한 네임스페이스에 설치됩니다.

  2. fluent-bit 애플리케이션이 AVAILABLE-PACKAGE-NAMESPACE에서 조정되었는지 확인합니다.

    kubectl get apps -A
    

    상태가 Reconcile succeeded가 아닌 경우 fluent-bit 애플리케이션의 전체 상태 세부 정보를 확인합니다. 전체 상태를 확인하면 문제를 해결하는 데 도움이 될 수 있습니다.

    kubectl get app fluent-bit --namespace AVAILABLE-PACKAGE-NAMESPACE -o yaml
    

    여기서 AVAILABLE-PACKAGE-NAMESPACE는 패키지를 설치한 네임스페이스입니다.

  3. 클러스터에서 실행 중인 모든 포드를 표시하여 새 서비스가 실행되고 있는지 확인합니다.

    kubectl get pods -A
    

    tanzu-system-logging 네임스페이스에는 포드에서 실행 중인 fluent-bit 서비스가 표시됩니다.

    NAMESPACE               NAME                     READY   STATUS    RESTARTS   AGE
    [...]
    tanzu-system-logging    fluent-bit-zd2tn         1/1     Running   0          6m23s
    [...]
    

    Fluent Bit 포드 및 Fluent Bit 구성 요소와 연결된 기타 리소스는 fluent-bit-data-values.yaml 파일에 제공한 네임스페이스에 파일 생성됩니다. 기본 네임스페이스를 사용하는 경우에는 tanzu-system-logging 네임스페이스에 생성됩니다.

실행 중인 Fluent Bit 배포 업데이트

배포 후 Fluent Bit 패키지의 구성을 변경하려면 배포된 Fluent Bit 패키지를 업데이트합니다.

  1. fluent-bit-data-values.yaml 파일에서 Fluent Bit 구성을 업데이트합니다.

  2. 설치된 패키지를 업데이트합니다.

    tanzu package installed update fluent-bit \
    --version 2.1.2+vmware.1-tkg.1 \
    --values-file fluent-bit-data-values.yaml \
    --namespace my-packages
    

    예상 출력:

    | Updating package 'fluent-bit'
    - Getting package install for 'fluent-bit'
    | Updating secret 'fluent-bit-my-packages-values'
    | Updating package install for 'fluent-bit'
    
     Updated package install 'fluent-bit' in namespace 'my-packages'
    

Fluent Bit 패키지가 새 값 또는 추가한 값을 사용하여 조정됩니다. kapp-controller가 변경 내용을 적용하는 데 최대 5분이 걸릴 수 있습니다.

업데이트에 대한 자세한 내용은 패키지 업데이트를 참조하십시오.

Fluent Bit 배포 삭제

클러스터에서 Fluent Bit 패키지를 제거하려면 다음을 실행합니다.

tanzu package installed delete fluent-bit --namespace my-packages

삭제에 대한 자세한 내용은 패키지 삭제를 참조하십시오.

check-circle-line exclamation-circle-line close-line
Scroll to top icon