Kubernetes를 Control 하기 위한 kubectl과 클러스터를 쉽게 전환하기 위한 kubectx를
알아보자.
Steps
- kubectl
- kubectx
- OpenLens
1. kubectl
kubernetes control의 준말이라고 알고 있고 나는 kube control이라고 부른다.
말 그대로 쿠버네티스를 컨트롤하기 위한 도구이다. 그리고 CLI 툴이다.
쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고,
확장 가능한 오픈소스 플랫폼
뜬금없이 쿠버네티스의 정의를 가져왔지만 우리는 kubectl을 통해 쿠버네티스가 할 수 있는 모든 일들을 할 수 있다.
kubectl 설치로 이동하면 각 환경에 맞는 kubectl 을 설치할 수 있게 가이드되어 있다.
2. kubectx
kubectl으로 Kubernetes에 명령을 내린다는 것은 대상이 되는 클러스터가 있다는 것이다. 하지만 관리하는 클러스터가 하나가 아니라 두 개라면 어떨까?
- A: Docker Desktop 으로 구성한 K8s 클러스터
- B: GKE로 구성한 K8s 클러스터
kubectl은 context라는 단위로 클러스터의 인증 정보를 관리한다.
- A 클러스터에 명령 -> A 컨텍스트로 전환
- B 클러스터에 명령 -> B 컨텍스트로 전환
현재 컨텍스트 확인
kubectl config get-contexts
위 사진과 같이 현재 contexts는 docker-desktop이다.
컨텍스트 변경
kubectl config use-context <B-context>
현재 컨텍스트를 제대로 확인하고 명령을 내려지 않으면 위험할 수 있기에 컨텍스트를 확인하고 변경하는 작업은 중요하다. 그리고 관리해야 하는 클러스터가 많아지면 컨텍스트 확인 및 변경이 번거롭고 실수하기 쉬워진다.
이에 도움이 되는 툴이 kubectx라는 CLI 툴이다. kubectx Github로 이동하면 어렵지 않게 설치법을 확인할 수 있다.
Context 리스트 확인
kubectx
Context 변경
kubectx docker-desktop
Context 이름 변경
kubectx local_k8s=docker_desktop
3. OpenLens
소스트리는 git 명령어를 GUI를 통해 직관적이고 쉽게 수행할 수 있게 도와준다.
OpenLens는 kubectl를 위한 GUI 툴이다.Mac 기준으로 Brew를 통해 쉽게 설치 가능하다. 하지만 매뉴얼로 6.2.5 버전을 설치하고 자동 업그레이드를 막아두는 걸 추천한다. 최신 버전에선
- Pod 로그를 볼 수 있는 버튼
- 터미널에 접근하기 위한 버튼
이 삭제되었기 떄문이다.
설치 후 실행하면 다음과 같은 화면이 나온다.
왼쪽에 보이는 탭(catelog)에서 컨텍스트 스위칭도 쉽게 할 수 있다.