콘텐츠로 이동

Cluster Agent 참조

Kubetail Cluster Agent는 Kubernetes 클러스터의 각 노드에서 DaemonSet으로 실행되는 Rust 기반 gRPC 서버입니다. 노드 파일시스템에서 컨테이너 로그 파일을 직접 읽고 필요할 때 Cluster API로 스트리밍합니다. 서버 실행 파일은 Kubetail 저장소의 crates/cluster_agent에 있는 소스 코드에서 빌드되며, 일반적으로 kubetail-cluster-agent Docker 이미지로 배포됩니다(아래 참조). kubetail-cluster-agent를 독립 실행형 컨테이너로 실행할 수도 있지만, 공식 Kubetail Helm 차트로 배포하는 방식을 권장합니다.

kubetail-cluster-agent Docker 이미지는 각 릴리스마다 Docker Hub와 GitHub Container Registry에 게시됩니다.

RegistryImage
Docker Hubkubetail/kubetail-cluster-agent
GHCRghcr.io/kubetail-org/kubetail-cluster-agent

두 가지 변형이 제공됩니다.

태그 접미사베이스 이미지설명
(없음)scratch가장 작은 크기의 최소 이미지
-alpinealpine셸과 표준 유틸리티 포함

기본 컨테이너 엔트리포인트는 /cluster-agent/cluster-agent 입니다.

Terminal window
cluster-agent --config <FILE> [flags]
FlagShortDefaultDescription
--config-c설정 파일 경로(필수)
--addr-a연결을 수신할 주소(설정값 덮어쓰기)

Cluster Agent는 설정 파일로만 구성됩니다. 경로는 매 실행마다 -c / --config로 전달해야 합니다. 설정 파일에서는 표준 셸 구문을 사용해 환경 변수를 참조할 수 있습니다.

Terminal window
cluster-agent --config /etc/kubetail/cluster-agent.yaml
## Kubetail Cluster Agent Configuration File
#
# 이 파일은 kubetail cluster agent의 동작을 정의합니다.
# Kubernetes 클러스터에서 실행되어 컨테이너 로그를 스트리밍하고 처리합니다.
#
## addr ##
#
# gRPC 서버가 바인딩할 네트워크 주소와 포트입니다.
#
# 기본값: :50051
#
addr: :50051
## container-logs-dir ##
#
# Kubernetes가 컨테이너 로그 파일을 저장하는 디렉터리 경로입니다.
# 일반적으로 호스트 노드 파일시스템에서 마운트됩니다.
#
# 기본값: /var/log/containers
#
container-logs-dir: /var/log/containers
## logging ##
#
# agent의 로그 출력 설정
#
logging:
## enabled ##
#
# agent에서 logging을 활성화할지 여부입니다.
#
# 기본값: true
#
enabled: true
## level ##
#
# 출력할 최소 로그 레벨입니다.
# 유효한 값: debug, info, warn, error
#
# 기본값: info
#
level: info
## format ##
#
# 로그 출력 형식입니다.
# 유효한 값: json, pretty
#
# 기본값: json
#
format: json
## tls ##
#
# 안전한 gRPC 연결을 위한 TLS 설정
#
tls:
## enabled ##
#
# gRPC 연결에 TLS를 활성화할지 여부입니다.
#
# 기본값: false
#
enabled: false
## cert-file ##
#
# TLS 인증서 파일 경로입니다.
#
# 기본값: ""
#
cert-file: ""
## key-file ##
#
# TLS 개인 키 파일 경로입니다.
#
# 기본값: ""
#
key-file: ""
## ca-file ##
#
# 클라이언트 인증서를 검증하는 데 사용할 CA 인증서 파일 경로입니다.
# client-auth가 require-and-verify로 설정된 경우 필요합니다.
#
# 기본값: ""
#
ca-file: ""
## client-auth ##
#
# 들어오는 gRPC 연결에 대한 클라이언트 인증 정책입니다.
# 유효한 값: none, require-and-verify
#
# 기본값: none
#
client-auth: none