목록으로

Programming Notes

Kubernetes Dashboard에서 Headlamp로: 전환 과정 이해하기

많은 사람에게 쿠버네티스 대시보드(Kubernetes Dashboard)는 쿠버네티스를 처음 접하는 창구였습니다. 이는 명령줄(CLI)에 의존하지 않고도 클러스터에서 무엇이 실행 중인지 확인하고, 리소스를 점검하며, 자신감을 쌓을 수 있는 간단한 시각적 방법을 제공했습니다. 지난 수년간 대시보드는 개발자, 학생, 운영자가 쿠버네티스를 이해하도록 도왔으며, 생태계로 진입하는 중요한 관문 역할을 해왔습니다.

이제 쿠버네티스 대시보드 프로젝트가 아카이브(보관)되었습니다. 우리는 대시보드 팀이 기울인 노력과 쿠버네티스를 수많은 사용자가 더 쉽게 접근할 수 있도록 만든 그 역할을 깊이 존중합니다.

Headlamp는 그 토대 위에서 구축되어 한 단계 더 나아갑니다. 시각적 인터페이스의 명확성을 유지하면서도, 오늘날의 쿠버네티스 사용 방식에 걸맞은 기능을 추가했습니다. 여기에는 멀티 클러스터 가시성, 애플리케이션 중심 보기, 플러그인을 통한 확장성, 그리고 클러스터 내부나 데스크톱 모두에서 작동하는 유연한 배포 옵션이 포함됩니다.

이 가이드는 여러분이 이러한 전환을 자신 있게 진행할 수 있도록 돕기 위해 작성되었습니다. 본격적인 마이그레이션 방법을 다루기 전에, 먼저 쿠버네티스 대시보드의 일반적인 워크플로우가 Headlamp에서 어떻게 매핑되는지 살펴보며 익숙한 환경에서 시작해 보겠습니다. 또한 전환 후에도 유지되는 기능과 개선되는 점도 다룰 것입니다. 우리의 목표는 단순히 도구를 교체하는 것이 아니라, 사용자 중심의 유산을 계승하고 여러분의 쿠버네티스 활용도 변화에 따라 함께 성장할 수 있는 UI에 안착하도록 돕는 것입니다.

쿠버네티스 대시보드 워크로드를 Headlamp에 매핑하기

쿠버네티스 대시보드를 사용해 본 적이 있다면, Headlamp의 많은 워크플로우가 익숙하게 느껴질 것입니다. Headlamp는 완전히 새로운 사고방식을 도입하는 것이 아니라, 사용자가 이미 알고 있는 워크로드를 기반으로 이를 실용적인 방식으로 확장합니다. 핵심은 '연속성'입니다. 기존에 잘 작동하던 방식은 그대로 유지되면서도, 더 성장할 수 있는 여지를 제공합니다.

워크로드 및 리소스 보기

쿠버네티스 대시보드에서 대부분의 사용자는 파드(Pod), 디플로이먼트(Deployment), 서비스(Service), 네임스페이스(Namespace)와 같은 워크로드를 탐색하는 것으로 시작했습니다. Headlamp도 동일한 시작점을 유지합니다. 워크로드를 쉽게 찾고 검사할 수 있으며, 네임스페이스와 클러스터 간 이동이 더욱 간편해졌습니다. 리소스는 여전히 익숙한 방식으로 구성되어 있으며, 특히 여러 환경에서 작업할 때 탐색이 훨씬 매끄럽습니다.

Headlamp 인터페이스에서 쿠버네티스 워크로드 및 리소스 보기

리소스 편집 및 상호작용

쿠버네티스 대시보드와 마찬가지로, Headlamp에서도 권한에 따라 UI에서 직접 매니페스트를 보고 편집할 수 있습니다. 인터페이스 내에서 리소스를 삭제하거나 워크로드를 확장(Scale)하고 구성을 업데이트할 수 있습니다. 모든 작업은 표준 쿠버네티스 RBAC를 따릅니다. 대시보드에서 수행할 수 있었던 작업이라면, 액세스 제어 원칙을 그대로 유지하면서 Headlamp에서도 동일한 기능을 찾을 수 있습니다.

Headlamp 사용자 인터페이스에서 쿠버네티스 리소스 편집 및 상호작용

관계 이해하기

Headlamp가 경험을 확장하기 시작하는 부분은 리소스 간의 관계를 보여주는 방식에 있습니다. 리스트 뷰 외에도 Headlamp는 워크로드, 서비스, 구성이 어떻게 연결되는지 시각적으로 보여주는 방법을 제공합니다. 이는 사용자가 이미 의존하고 있는 기본 워크로드를 변경하지 않고도 맥락을 이해하는 데 도움을 줍니다.

Headlamp에서 쿠버네티스 워크로드와 서비스 간의 관계 시각화

높은 수준에서 볼 때, 쿠버네티스 대시보드에서 수행하던 작업들은 여전히 존재합니다. Headlamp는 익숙한 워크플로우를 유지하면서 클러스터, 팀, 애플리케이션이 성장함에 따라 더 쉽게 확장할 수 있도록 돕습니다.

Headlamp가 쿠버네티스 대시보드보다 뛰어난 점

단일 클러스터에서 멀티 클러스터 워크플로우로 확장

쿠버네티스 대시보드는 한 번에 하나의 클러스터만 다루도록 설계되었습니다. 이 모델은 간단한 설정에는 적합했지만, 팀이 여러 환경을 도입함에 따라 한계에 부딪혔습니다. Headlamp는 도구를 바꾸거나 컨텍스트를 잃지 않고도 단일 인터페이스에서 여러 클러스터를 작업할 수 있게 함으로써 이 뷰를 확장합니다. 이를 통해 개발, 스테이징, 운영 환경을 나란히 관리하기가 더 쉬워집니다.

Headlamp를 사용하여 단일 클러스터에서 멀티 클러스터 워크플로우로 확장

둘 이상의 장소에서 쿠버네티스를 운영하는 팀의 경우, 이러한 변화는 마찰을 줄여줍니다. 사용자는 방향성을 유지하면서 자신 있게 클러스터 사이를 이동할 수 있습니다.

리소스 목록에서 '프로젝트'를 통한 애플리케이션 컨텍스트로

'프로젝트(Projects)' 기능을 사용하면 쿠버네티스를 애플리케이션 중심으로 바라볼 수 있습니다. 여러 목록 사이를 오가는 대신, 관련된 워크로드, 서비스 및 지원 리소스를 한곳으로 그룹화할 수 있습니다. 이를 통해 애플리케이션을 더 쉽게 이해할 수 있습니다. 무엇이 서로 연결되어 있는지 확인하고, 맥락 안에서 변경 사항을 추적하며, 클러스터를 하나하나 훑지 않고도 문제를 해결할 수 있습니다.

프로젝트는 쿠버네티스 고유의 개념을 기반으로 구축되었습니다. 네임스페이스, 라벨, RBAC는 기존 방식 그대로 작동합니다. Headlamp는 여기에 관련된 리소스들을 하나로 묶어주는 시각적 레이어를 추가합니다.

프로젝트 기능은 선택 사항입니다. 작업 방식에 따라 여전히 개별 리소스 수준에서 작업할 수 있습니다. 더 많은 맥락이 필요할 때, 프로젝트 기능은 뒤로 물러나 전체적인 그림을 볼 수 있게 도와줍니다.

관련 쿠버네티스 리소스를 그룹화하는 Headlamp의 애플리케이션 프로젝트 뷰

플러그인으로 Headlamp UI 확장하기

Headlamp는 일반적인 워크플로우를 UI로 직접 가져오는 플러그인을 통해 확장될 수 있습니다. 도구를 전환하는 대신, 동일한 컨텍스트 내에서 한곳에서 작업할 수 있습니다.

Headlamp 인터페이스의 플러그인 카탈로그에서 플러그인 추가하기

예를 들어, Flux 플러그인은 GitOps 워크플로우를 Headlamp로 가져옵니다. 이를 통해 팀은 Flux가 관리하는 쿠버네티스 리소스와 함께 애플리케이션 상태를 볼 수 있어, Git의 변경 사항이 클러스터에서 실행 중인 리소스와 어떻게 연결되는지 더 쉽게 이해할 수 있습니다.

Flux 플러그인을 사용하여 Headlamp에서 GitOps 리소스 보기 및 관리

AI 어시스턴트(AI Assistant)도 비슷한 패턴을 따릅니다. UI에 대화형 레이어를 추가하여 사용자가 보고 있는 내용을 이해하거나, 문제를 해결하거나, 조치를 취할 수 있도록 돕습니다. 이 모든 과정은 문제가 발생한 바로 그 화면에서 이루어집니다.

쿠버네티스 리소스를 이해하고 문제를 해결하기 위해 Headlamp에서 AI 어시스턴트 사용하기

직접 플러그인 만들기

플러그인은 선택 사항이며 커뮤니티에서 제작한 확장에만 국한되지 않습니다. 플랫폼 및 프로젝트 팀은 자체 플러그인을 만들 수도 있습니다. 이를 통해 조직은 일관된 사용자 경험을 유지하면서 특정 워크플로우 및 내부 도구에 맞는 맞춤형 통합 기능을 추가할 수 있습니다.

Headlamp 실행 방식 및 위치 선택하기

Headlamp는 팀이 쿠버네티스 UI를 사용하는 방식에 유연성을 제공합니다. 클러스터에서 직접 실행하거나, 데스크톱 애플리케이션으로 사용하거나, 필요에 따라 두 가지 방식을 결합할 수 있습니다.

클러스터 내(In-cluster)에서 Headlamp를 실행하는 방식은 공유 환경에 적합합니다. 제어된 액세 권한을 가진 중앙 관리형 UI를 제공하며, 다른 클러스터 내 구성 요소와 동일한 인증 및 RBAC 규칙을 따르므로 쿠버네티스 설정에 자연스럽게 녹아듭니다.

클러스터 내 브라우저 기반 애플리케이션으로 Headlamp 실행하기

데스크톱 애플리케이션은 로컬 개발 및 온보딩에 더 적합한 경우가 많습니다. 또한 한곳에서 여러 클러스터를 관리해야 할 때 유용합니다. 사용자는 클러스터에 아무것도 배포하지 않고도 기존 kubeconfig를 사용하여 연결할 수 있습니다.

로컬에서 쿠버네티스 클러스터를 관리하기 위해 Headlamp를 데스크톱 애플리케이션으로 사용하기

이러한 옵션들은 상호 배제적이지 않습니다. 많은 팀이 일상적인 업무에는 데스크톱 앱을 사용하고, 공유 환경이나 운영 환경에는 클러스터 내 배포 방식을 활용합니다.

마이그레이션 준비하기

쿠버네티스 대시보드에서 Headlamp로 이동하기 전에, 현재 대시보드를 어떻게 사용하고 있는지 잠시 점검해 보는 것이 도움이 됩니다. 사전에 약간의 고민을 해두면 전환 과정이 훨씬 매끄럽고 익숙하게 느껴질 것입니다.

먼저 어떤 클러스터와 네임스페이스에 액세스하는지, 인증은 어떻게 이루어지는지 확인하십시오. Headlamp는 표준 쿠버네티스 인증 및 RBAC를 사용합니다. 대부분의 경우 기존 액세스 모델이 변경 없이 그대로 유지됩니다. 사용자가 이미 kubeconfig 파일이나 서비스 계정을 사용하여 연결하고 있다면 Headlamp에서도 동일한 리소스에 액세스할 수 있습니다.

또한 팀에게 가장 중요한 워크플로우가 무엇인지 생각해 보는 것도 유용합니다. 어떤 사용자는 빠른 점검이나 문제 해결을 위해 대시보드에 의존하는 반면, 다른 사용자는 가벼운 편집이나 검증을 위해 사용하기도 합니다. Headlamp는 이러한 동일한 워크플로우를 지원하며 그 위에 선택적인 기능들을 추가합니다. 현재 무엇에 의존하고 있는지 알면 전환 과정이 예측 가능해지고 신뢰를 쌓는 데 도움이 됩니다.

Headlamp를 더 자세히 알아보거나 마이그레이션 전에 미리 사용해 보고 싶다면 headlamp.dev에서 자세한 내용을 확인할 수 있습니다.

이 블로그는 전환 과정의 이해와 기대 효과에 초점을 맞췄습니다. 설치 및 마이그레이션 과정을 상세히 안내하는 단계별 마이그레이션 가이드가 곧 공개될 예정입니다.