Kubernetes(쿠버네티스, 이하 K8s)는 컨테이너 오케스트레이션을 위한 오픈소스 플랫폼으로, 여러 대의 서버를 클러스터로 묶고 그 위에서 애플리케이션을 안정적으로 운영할 수 있도록 돕는 도구입니다. K8s를 실무에서 활용하다 보면 클러스터의 구조와 상태를 확인해야 할 일이 자주 생기는데요, 이번 글에서는 kubectl
명령어와 시각화 도구를 이용해 K8s 클러스터 구조를 파악하는 방법을 정리해 보겠습니다.
클러스터 구조를 확인해야 하는 이유
클러스터의 상태를 모니터링하고 문제를 빠르게 인지하기 위해
파드나 서비스가 어느 노드에서 구동 중인지 파악하기 위해
리소스의 할당 상태, 스케줄링 현황, 이벤트 로그 등을 분석하기 위해
실습 환경 또는 운영 환경의 구조를 시각화해 문서화하거나 공유하기 위해
1. 클러스터 기본 정보 확인
kubectl cluster-info
현재 연결된 클러스터의 API 서버 주소, CoreDNS, ingress controller 등이 출력됩니다. kubeconfig 설정이 잘 되어 있는지도 함께 확인할 수 있습니다.
2. 클러스터 노드(Node) 확인
kubectl get nodes -o wide
클러스터에 등록된 모든 노드를 확인할 수 있습니다. 노드 이름, 상태(Ready/NotReady), 역할(master/worker), OS, IP, 컨테이너 런타임 등을 볼 수 있습니다.
3. 네임스페이스(Namespace) 확인
kubectl get namespaces
K8s는 네임스페이스를 사용해 리소스를 논리적으로 구분합니다. default
, kube-system
, kube-public
, kube-node-lease
등이 기본적으로 존재합니다.
4. 파드(Pod) 확인
kubectl get pods -A
클러스터 전체에 있는 모든 파드를 네임스페이스 별로 확인할 수 있습니다. -n <namespace>
옵션으로 특정 네임스페이스에 국한된 파드만 볼 수 있습니다.
추가로 -o wide
옵션을 붙이면 각 파드가 어떤 노드에서 실행되고 있는지도 알 수 있습니다.
kubectl get pods -o wide
5. 모든 리소스 한 번에 확인하기
kubectl get all -A
파드(pod), 서비스(service), 디플로이먼트(deployment), 레플리카셋(replica set) 등 주요 리소스를 한 번에 확인할 수 있습니다. 각 네임스페이스별로 리소스가 나뉘어 표시됩니다.
6. 특정 리소스의 상세 정보 확인
예를 들어 디플로이먼트의 구성 상세를 보고 싶다면 다음과 같이 입력합니다.
kubectl describe deployment <deployment-name> -n <namespace>
파드 수, 업데이트 전략, 이벤트 로그, 셀렉터, 이미지 등 많은 정보를 얻을 수 있습니다.
7. 이벤트 로그 및 문제 추적
kubectl get events -A
클러스터 전체의 이벤트를 시간 순으로 볼 수 있어, 에러나 경고가 발생한 시점과 원인을 파악할 수 있습니다.
8. 시각화 도구를 활용한 클러스터 구조 파악
CLI만으로는 전체 구조를 파악하기 어려운 경우, 아래와 같은 시각화 도구를 활용하면 클러스터 상태를 GUI로 편리하게 확인할 수 있습니다.
Lens
가장 많이 쓰이는 Kubernetes 클러스터 시각화 툴로, 다양한 클러스터를 GUI에서 관리할 수 있습니다.
👉 Lens 공식 홈페이지
Octant
VMware에서 개발한 오픈소스 GUI 툴로, 리소스 간 의존 관계를 시각화하여 보여줍니다.
👉 Octant 공식 홈페이지
Kubeview
네임스페이스, 노드, 파드 등 구조를 다이어그램 형태로 표현해 줍니다.
👉 Kubeview GitHub
'개발 (Development) > Kubernetes' 카테고리의 다른 글
[Kubernetes] Kubernetes에서 컨테이너와 파드는 무엇이 다를까? (0) | 2025.07.13 |
---|---|
[Kubernetes] Kubernetes Pod 간 Connection reset 오류, 원인과 해결 방법 (2) | 2025.07.13 |
[Kubernetes] Kubernetes에서 Pod 간 직접 데이터 전송하는 방법 (0) | 2025.04.05 |