소개
Sonobuoy는 VMware Tanzu에서 개발한 Kubernetes 클러스터 진단 도구입니다. Kubernetes 적합성 테스트와 기타 플러그인을 안전하고 비파괴적인 방식으로 실행하여 클러스터 상태를 이해하는 데 도움을 줍니다. 사용자 정의가 가능하고 확장 가능하며 클러스터에 구애받지 않는 방식으로 명확하고 유용한 보고서를 생성합니다.
상세정보
적합성 테스트
CNCF 적합성을 보장하는 Kubernetes 적합성 테스트를 실행하고 완료될 때까지 대기하는 기능을 제공합니다. 기본적으로 모든 Kubernetes 종단 간(e2e) 적합성 테스트를 실행합니다.
사용자 정의 플러그인
Kubernetes 종단 간 테스트 스위트의 일부가 아닌 다른 테스트나 도구를 실행할 수 있도록 사용자 정의 플러그인을 지원합니다.
클러스터 진단
작업량 디버깅과 같은 클러스터 진단 작업을 지원하며, 클러스터 리소스 개체와 클러스터 노드에 대한 선택적 데이터 덤프를 생성합니다.
다운로드·설치 방법
Sonobuoy는 여러 방법으로 설치할 수 있습니다.
1. GitHub에서 최신 릴리스를 다운로드하고 tarball을 압축 해제합니다: tar -xvf <RELEASE_TARBALL_NAME>.tar.gz. 해제된 sonobuoy 실행 파일을 PATH에 추가합니다.
2. macOS의 경우 Homebrew를 사용하여 brew install sonobuoy 명령으로 설치할 수 있습니다.
Chocolatey 패키지 관리자를 통해서도 설치 가능합니다.
기본 사용법/명령어
적합성 테스트를 실행하고 결과를 확인하는 기본 워크플로우는 다음과 같습니다:
1. 테스트 실행: sonobuoy run –wait 명령으로 적합성 테스트를 실행하고 완료될 때까지 대기합니다.
2. 결과 가져오기: results=$(sonobuoy retrieve) 명령으로 플러그인 결과를 가져옵니다.
3. 결과 검사: sonobuoy results $results 명령으로 테스트 실패를 검사합니다.
4. 모니터링: sonobuoy status 명령으로 각 플러그인의 상태를 확인하고, sonobuoy logs 명령으로 로그를 확인할 수 있습니다.
5. 정리: sonobuoy delete –wait 명령으로 Sonobuoy가 생성한 리소스를 삭제합니다.
이런 경우에 유용합니다
Kubernetes 클러스터가 CNCF 적합성을 준수하는지 검증해야 할 때 유용합니다. 클러스터 설정이나 업그레이드 후 올바르게 작동하는지 확인할 때 사용할 수 있습니다. Kubernetes 환경에서 작업량 관련 문제를 디버깅해야 하는 경우 진단 도구로 활용할 수 있습니다.
지원 환경·시스템 요구사항
Kubernetes v1.17 이상을 지원합니다. 실행 중인 Kubernetes 클러스터가 필요하며, 관리자 수준의 kubeconfig 파일과 KUBECONFIG 환경 변수가 설정되어 있어야 합니다. 일부 고급 기능을 위해 kubectl이 필요할 수 있고, sonobuoy images 서브커맨드를 사용하려면 Docker가 설치되어 있어야 합니다.
최신 버전·업데이트
현재 최신 버전은 0.55.1입니다. Sonobuoy 릴리스는 Kubernetes 릴리스와 독립적이며, 새 릴리스가 다양한 Kubernetes 버전에서 계속 기능적으로 작동하도록 보장합니다.
제한 사항·확인 사항
Docker Desktop을 통해 설정된 클러스터에서 실행하는 것은 권장되지 않습니다. 알려진 문제로는 kubectl logs, sonobuoy logs, sonobuoy retrieve가 작동하지 않거나 systemd-logs 플러그인이 멈출 수 있습니다. v0.53.0과 v0.53.1 버전에는 추가 조치 없이 잘못된 테스트 세트를 실행하는 인증 적합성 버그가 있으므로 v0.53.2 이상으로 업데이트하는 것이 좋습니다.
시스템 요구사항
실행 중인 Kubernetes 클러스터와 관리자 수준의 kubeconfig 파일이 필요합니다. 일부 고급 워크플로에서는 kubectl이 필요할 수 있습니다. sonobuoy images 서브커맨드를 사용하려면 Docker가 설치되어 있어야 합니다.


