kubectl과 kubectx 그리고 OpenLens

2023. 10. 24. 20:33·Kubernetes

Kubernetes를 Control 하기 위한 kubectl과 클러스터를 쉽게 전환하기 위한 kubectx를
알아보자.

Steps

  1. kubectl
  2. kubectx
  3. 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 로그를 볼 수 있는 버튼
  • 터미널에 접근하기 위한 버튼

이 삭제되었기 떄문이다.

설치 후 실행하면 다음과 같은 화면이 나온다.

OpenLens 실행 화면

왼쪽에 보이는 탭(catelog)에서 컨텍스트 스위칭도 쉽게 할 수 있다.

'Kubernetes' 카테고리의 다른 글
  • [Tip] 로컬 환경의 Kubernetes에서 로컬에 있는 도커 이미지 사용하기
  • Prometheus와 Grafana로 구현하는 Kubernetes 모니터링
  • Helm 빠르게 시작하기
  • 쿠버네티스 설치 in local
ssuwani
ssuwani
  • ssuwani
    Oops!!
    ssuwani
  • 전체
    오늘
    어제
    • 분류 전체보기 (69)
      • MLOps (19)
      • 데이터 엔지니어링 (4)
      • Kubernetes (5)
      • Kafka (10)
      • 📚책 (3)
      • 라즈베리파이 (1)
      • ETC (8)
      • Python (6)
      • 언어모델 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Prometheus
    fluentbit
    FastAPI
    mlflow
    asyncronous
    Spark
    Kubernetes
    태그1
    auto tagging
    gcp
    MLOps
    producer
    evidently ai
    RDD
    BentoML
    Kubeflow
    Github Actions
    Python
    Confluent Cloud
    topic
    redis
    Kafka
    LLM
    LangChain
    datadrift
    Airflow
    Schema Registry
    consumer
    Docker
    태그2
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
ssuwani
kubectl과 kubectx 그리고 OpenLens
상단으로

티스토리툴바