소개
Kubergrunt는 Gruntwork에서 유지 관리하는 독립형 Go 바이너리로, Terraform, Helm, Kubectl 사이의 격차를 해소하기 위한 명령어 모음을 제공합니다. 이 도구는 Amazon EKS 클러스터 관리를 위한 다양한 기능을 포함하며, 특히 kubectl 인증 설정, Helm 및 TLS 인증서 관리, 쿠버네티스 시크릿 생성을 지원합니다. Windows 사용자를 포함한 여러 플랫폼에서 사용할 수 있으며, Chocolatey를 통해 간편하게 설치할 수 있습니다.
상세정보
EKS 클러스터 인증 및 설정
kubergrunt eks verify 명령어를 사용하면 EKS 클러스터가 ACTIVE 상태인지 및 Kubernetes API 서버 엔드포인트가 응답하는지 확인할 수 있습니다. –wait 옵션을 추가하면 클러스터가 준비될 때까지 재시도를 수행하며, 최대 재시도 횟수와 간격을 구성할 수 있습니다.
kubectl 인증 구성
kubergrunt eks configure 명령어는 eks-cluster-arn을 기반으로 kubectl을 설정하여 특정 EKS 클러스터에 인증할 수 있도록 합니다. 이 과정은 kubergrunt eks token 명령어를 활용하여 AWS IAM 자격 증명을 통해 인증 토큰을 가져옵니다.
TLS 인증서 및 시크릿 관리
kubergrunt tls gen 명령어는 새로운 TLS 인증서 키 쌍을 생성하고, 이를 쿠버네티스 시크릿으로 저장할 수 있습니다. CA 키 쌍 생성 및 기존 CA를 사용한 서명된 TLS 키 쌍 발급이 모두 지원되며, 네임스페이스와 시크릿 이름을 지정할 수 있습니다.
다운로드·설치 방법
Windows 사용자는 Chocolatey를 통해 kubergrunt를 설치할 수 있습니다. 관리자 권한으로 명령 프롬프트를 열고 다음 명령을 실행합니다:
choco install kubergrunt
이 명령은 최신 버전의 kubergrunt 바이너리를 다운로드하고 설치합니다. 설치 후에는 kubergrunt –version 명령을 통해 버전을 확인할 수 있습니다.
기본 사용법/명령어
EKS 클러스터 인증을 위한 기본 워크플로우는 다음과 같습니다. 먼저, AWS CLI를 통해 인증이 되어 있어야 합니다. 그 후 다음 순서로 명령을 실행합니다:
- kubergrunt eks verify –eks-cluster-arn –wait (클러스터 준비 상태 확인)
- kubergrunt eks configure –eks-cluster-arn (kubectl 구성)
- 이제 kubectl 명령을 통해 클러스터와 상호작용할 수 있습니다.
TLS 시크릿을 생성하려면 다음 예시를 따를 수 있습니다:
# CA 키 쌍 생성
kubergrunt tls gen
–namespace kube-system
–secret-name ca-keypair
–ca
–tls-common-name kiam-ca
–tls-org Gruntwork
–tls-org-unit IT
–tls-city Phoenix
–tls-state AZ
–tls-country US
–secret-annotation “gruntwork.io/version=v1”
# 서명된 TLS 키 쌍 생성
kubergrunt tls gen
–namespace kube-system
–secret-name tls-keypair
–ca-secret-name ca-keypair
–tls-common-name kiam-server
–tls-org Gruntwork
–tls-org-unit IT
–tls-city Phoenix
–tls-state AZ
–tls-country US
–secret-annotation “gruntwork.io/version=v1”
지원 환경·시스템 요구사항
kubergrunt는 Windows, macOS, Linux에서 실행할 수 있는 독립형 바이너리로 제공됩니다. Windows에서는 Chocolatey를 통해 설치할 수 있으며, 다른 플랫폼에서는 GitHub 릴리스 페이지에서 바이너리를 다운로드하거나 Go를 통해 소스에서 빌드할 수 있습니다. 이 도구는 Go로 작성되었으며, 외부 의존성이 최소화되어 있습니다.
최신 버전·업데이트
현재 버전은 0.7.3이며, 최신 릴리스 정보와 변경 사항은 GitHub 저장소의 Releases 페이지에서 확인할 수 있습니다. 이 프로젝트는 시맨틱 버저닝을 따르며, v1.0.0 이전에는 API가 불안정할 수 있음을 명시하고 있습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


