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

kubectl-login (CLI)

0

kubectl-login (CLI)는 Kubernetes 클러스터에 OIDC(OpenID Connect) 인증을 쉽게 적용할 수 있도록 도와주는 kubectl 플러그인입니다.

명령줄인증플러그인

소개

kubectl-login (CLI)는 Kubernetes 클러스터에 OIDC(OpenID Connect) 인증을 쉽게 적용할 수 있도록 도와주는 kubectl 플러그인입니다. DevOpsTales에서 개발 및 유지보수하며, 서버 구성 요소와 kubectl 플러그인으로 구성되어 브라우저 기반 인증을 통해 kubectl 설정을 자동 생성합니다. Chocolatey, Homebrew, Krew 등을 통해 다양한 플랫폼에 설치할 수 있으며, Windows 사용자는 `choco install kubectl-login` 명령어로 간단히 설치할 수 있습니다.

상세정보

OIDC 기반 인증 흐름 지원

kubectl-login은 Kubernetes가 지원하는 OpenID Connect 토큰을 활용하여 사용자 인증을 처리합니다. 사용자가 kubectl login 명령을 실행하면 내장된 서버 구성 요소와 통신하여 브라우저에서 OIDC 로그인 페이지를 엽니다.

자동 kubectl 설정 생성

성공적인 인증 후 서버는 사용자의 JWT 토큰을 기반으로 유효한 kubectl 구성 파일을 생성하고, 이를 플러그인을 통해 사용자의 ~/.kube/config에 자동으로 작성합니다.これにより、手動で 설정 파일을 편집할 필요가 없습니다.

Windows에서의 Chocolatey 설치

Windows 사용자는 Chocolatey 패키지 관리자를 통해 kubectl-login을 쉽게 설치할 수 있습니다. 관리자 권한으로 PowerShell 또는 CMD를 열고 다음 명령을 실행합니다:

choco install kubectl-login

이 명령은 최신 버전의 kubectl-login 플러그인을 다운로드하고 시스템 경로에 등록하여 kubectl login 명령을 바로 사용할 수 있도록 합니다.

다른 설치 방법 (참고)

또한 다음과 같은 방법으로도 설치할 수 있습니다:

  • Homebrew (macOS/Linux): brew install kubectl-login
  • Krew (크로스플랫폼): kubectl krew install dtlogin
  • 개인 Krew 저장소: kubectl krew index add devopstales https://github.com/devopstales/krew seguido de kubectl krew install devopstales/login
  • 바이너리 릴리스: GitHub 릴리스 페이지에서 직접 다운로드

기본 사용법/명령어

설치 후, Kubernetes 클러스터에 OIDC를 통해 인증하려면 다음 단계를 따릅니다.

  1. 터미널 또는 명령 프롬프트를 엽니다.
  2. 다음 명령을 실행하고, https://kubeauth.k8s.intra 부분을 실제 OIDC 서버의 인그레스 URL로 대체합니다:
    kubectl login https://kubeauth.k8s.intra
  3. 브라우저가 자동으로 열리면 OIDC 제공업체(예: Azure AD, Keycloak, Okta 등)를 통해 로그인합니다.
  4. 로그인 성공 시, 터미널에 “Configfile created with config for productioncluster to ~/.kube/config”와 같은 메시지가 표시되며, kubectl이 즉시 해당 클러스터를 사용할 수 있게 됩니다.

Krew을 통해 설치한 경우, 별칭 명령을 사용할 수 있습니다:

kubectl dtlogin https://kubeauth.k8s.intra

이런 경우에 유용합니다

이 도구는 개발자나 DevOps 엔지니어가 OIDC를 지원하는 Kubernetes 클러스터(예: 기업 내 SSO 환경)를 자주 접속해야 할 때 유용합니다. 매번 토큰을 수동으로 발급하거나 복잡한 설정 파일을 다루지 않고도, 하나의 명령으로 안전한 인증과 kubectl 설정을 자동화할 수 있어 작업 효율성을 높이고 인증 오류를 줄일 수 있습니다.

지원 환경·시스템 요구사항

kubectl-login은 Windows, macOS, Linux에서 실행 가능하며, ARM 아키텍처도 지원합니다. kubectl 플러그인으로 동작하므로 사전에 kubectl이 설치되어 있어야 합니다. 서버 구성 요소는 Python 3.x와 의존성 패키지(requirements.txt)가 필요하며, 배포 시 Helm 차트를 사용할 수 있습니다.

최신 버전·업데이트

현재 버전은 1.0이며, 최신 소스 코드 및 릴리스 정보는 GitHub 릴리스 페이지에서 확인할 수 있습니다. 업데이트 시 Chocolatey에서는 choco upgrade kubectl-login 명령을 통해 최신 버전으로 갱신할 수 있습니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.