본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

Kubazulo

0

Kubazulo는 Kubernetes 클러스터에 대한 Azure AD 인증을 제공하는 오픈소스 명령줄 도구입니다.

윈도우인증

소개

Kubazulo는 Kubernetes 클러스터에 대한 Azure AD 인증을 제공하는 오픈소스 명령줄 도구입니다. K8stooling에서 개발했으며, kubectl과 함께 사용하여 kubeconfig 인증을 처리합니다. Windows 환경에서 winget을 통해 간편하게 설치할 수 있습니다.

상세정보

Azure AD 인증

Kubazulo는 Azure AD를 OIDC 공급자로 사용하여 Kubernetes 클러스터에 인증합니다. 대화형(interactive) 및 디바이스 코드(devicecode) 로그인 모드를 지원합니다.

kubectl 통합

kubectl의 exec 플러그인으로 동작하여 기존 kubectl 명령과 원활하게 통합됩니다.

고급 인증 흐름

중간 토큰 엔드포인트를 사용하는 고급 인증 흐름을 지원하며, API 토큰 엔드포인트를 지정할 수 있습니다.

설치

Windows에서는 winget을 사용하여 설치할 수 있습니다. 명령 프롬프트 또는 PowerShell에서 다음 명령을 실행합니다.

winget install --id K8stooling.Kubazulo --exact

Azure AD 앱 등록

Azure AD 엔터프라이즈 애플리케이션과 앱 등록을 만들고, 공용 클라이언트 흐름을 허용하며, 그룹 클레임을 구성합니다. 테넌트 ID와 클라이언트 ID를 기록합니다.

API 서버 구성

Kubernetes API 서버에 OIDC 관련 플래그(–oidc-issuer-url, –oidc-client-id, –oidc-username-claim, –oidc-groups-claim)를 설정합니다.

kubectl 자격 증명 구성

kubectl config set-credentials 명령을 사용하여 Kubazulo를 exec 플러그인으로 등록합니다. 기본 대화형 흐름의 예는 다음과 같습니다.

kubectl config set-credentials "kubazulo-azuread" 
  --exec-api-version=client.authentication.k8s.io/v1 
  --exec-command=kubazulo 
  --exec-arg=get-token 
  --exec-arg=--client-id 
  --exec-arg=$AAD_CLIENT_ID 
  --exec-arg=--tenant-id 
  --exec-arg=$AAD_TENANT_ID

고급 흐름(intermediate flow)을 사용하려면 –loginmode interactive 및 –intermediate true 플래그를 추가하고 API 토큰 엔드포인트를 지정합니다.

클러스터 연결

생성한 자격 증명을 사용하여 클러스터 컨텍스트를 설정하고 사용합니다.

kubectl config set-context "$CLUSTER_NAME" --cluster="$CLUSTER_NAME" --user=kubazulo-azuread
kubectl config use-context "$CLUSTER_NAME"

활용 예시

  • Azure AD를 기반으로 하는 Kubernetes 클러스터에 안전하게 인증해야 하는 경우
  • kubectl을 사용하여 클러스터 리소스를 관리하면서 Azure AD 자격 증명을 자동으로 처리하고자 하는 경우
  • 대화형 로그인 또는 디바이스 코드 흐름을 통해 사용자 인증을 수행해야 하는 경우

지원 환경 및 요구사항

  • Windows 10 이상 (winget 설치)
  • kubectl 설치 필요
  • Azure AD 테넌트 및 앱 등록 정보 필요

버전 및 업데이트

현재 버전은 1.0.7이며, GitHub 릴리스 페이지에서 업데이트 내역을 확인할 수 있습니다.

라이선스 및 확인사항

Kubazulo는 프리웨어로 제공됩니다. 구체적인 라이선스 조건은 공식 GitHub 저장소를 참조하세요.

시스템 요구사항

Windows 10 이상, winget 패키지 관리자, kubectl 설치 필요, Azure AD 테넌트 및 앱 등록 정보