관리 메뉴

피터의 개발이야기

Kubernetes를 위한 최고의 도구는 무엇입니까? 본문

Kubernetes/kube 개발환경

Kubernetes를 위한 최고의 도구는 무엇입니까?

기록하는 백앤드개발자 2024. 1. 5. 02:41
반응형

ㅁ 들어가며

 배포 및 구성 경험을 향상할 수 있는 몇 가지 최고의 Kubernetes 도구는 다음과 같습니다.

 

개발도구에 관한 글은 이곳, [kubernetes] 개발환경 목차, kubectl, Datree, eksctl, k9s, skaffold에 차곡차곡 정리 중입니다.

 


CLI Tool


ㅁ kubectl 기본 중에 기본

 

ㅇ kubectl 이후 탭키를 누르면 사용가능한 명령어 목록과 설명이 나옵니다.

이는 Kubernetes 클러스터와 상호 작용하여 애플리케이션의 다양한 측면을 관리하고 제어할 수 있게 해주는 기본적인 도구이면서, 강력한 명령줄 도구입니다. kubectl 자동완성 기능을 이용하여 클러스터 관리를 더욱 효율적으로 할 수 있습니다.

 

참고: [kubectl] kubectl 자동완성

 

ㅁ kubens

네임스페이스를 변경을 돕는 kubens가 있어서 설치 방법 및 사용법을 정리하였다.

 

참고: 네임스페이스 변경을 돕는 kubens

 

ㅁ kubectx

kubectx는 다수의 클러스터를 관리할 경우 context를 자주 변경할 때에 유용한 도구이다.

 

참고: [kubernetes] context 변경을 돕는 kubectx

ㅁ k9s

 

K9s는 Kubernetes 작업을 정말 쉽고 빠르고 안전하게 만들어주는 오픈 소스 명령줄 도구이다. 터미널 기반으로 UI를 통해 kubectl 명령어를 입력하지 않아도 직관적으로 작업을 수행할 수 있다. UI를 통해 kubernetes의 리소스를 생성, 업데이트, 로깅하고 제거할 수 있습니다.

 

참고: [kubernetes] k9s 설치 및 사용법

 

ㅁ helm 인프라 설치  시 유용

Helm은 인기 있는 Kubernetes용 패키지 관리자로, 사전 구성된 차트를 사용하여 애플리케이션을 배포하고 관리하는 효율적인 방법을 제공합니다. 또한 정갈하게 짜여진 레시피를 알면 빠르게 요리할 수 있듯이 이미 잘 구성되어진 Helm Template에 옵션을 추가하면 인프라 자원을 빠르게 설치할 수 있습니다. 더욱이 잘구성된 Template를 통해 알지 못했던 구성방법 및 다양한 기술들을 배울 수 있습니다. 

참고

[kubernetes] Helm이란

[kubernetes] Helm 사용법
[Grafana] grafana를 helm으로 설치하기

[kubernetes] helm을 이용한 AWS prometheus설치 후 도메인 연결

[Helm] Helm으로 jenkins 설치하기

[helm] helm으로 redis, grafana 설치과정

 

 


Cluster Management


ㅁ kubeadm

kubeadm을 사용하면 Kubernetes 클러스터를 쉽게 부트스트랩하여 설치 및 구성 프로세스를 단순화할 수 있습니다.

저는 맥에서 minikube과 AWS EKS환경에서만 사용해서 사용해 보지는 않았음.

 

ㅁ kubefed

이 도구를 사용하면 여러 Kubernetes 클러스터를 연합하여 다양한 환경에서 원활한 관리 및 운영이 가능합니다.

저는 AWS 단일 리전에서만 사용해서 사용해 보지 않았음.

 

ㅁ kompose

kompose를 사용하면 Docker Compose 파일을 Kubernetes 매니페스트로 쉽게 변환하여 애플리케이션을 Kubernetes로 마이그레이션하는 작업을 단순화할 수 있습니다.

 

ㅁ kubespray

이 도구는 Kubernetes 클러스터의 배포 및 구성을 자동화하는 Ansible 역할 컬렉션을 제공하여 인프라를 보다 쉽게 ​​설정하고 관리할 수 있도록 해줍니다.

 

 


Single Cluster Tool


ㅁ Minikube

Minikube는 Kubernetes 클러스터를 배포하고 관리하는 데 사용되는 오픈소스 도구입니다.
Minikube를 사용하면 로컬 컴퓨터에서 단일 노드 Kubernetes 클러스터를 실행하여 애플리케이션 개발, 테스트 및 배포를 쉽게 할 수 있으며, 단일 머신에서 다중 노드 Kubernetes 환경을 시뮬레이션하여 다양한 Kubernetes 기능 및 구성을 실험할 수 있습니다.

저는 맥에서 minikube 환경을 구축하여 인프라 구성 테스트를 진행하였습니다.

참고

[minikube] minikube 기본 명령어 정리

[minikube] 맥에 minikube를 사용해 로컬 kubernetes 설치

[kubernetes] Prometheus Monitoring 환경 구축하기
 ㄴ minikube 클러스터를 생성해서 구축해봄

[minikube] minikube에서 meteric server 실행하기

[minikube] Kubernetes 대시보드

 

ㅁ simple kube

간단한 솔루션을 찾고 있다면 Simple kube는 Linux 서버에 단일 노드 Kubernetes 클러스터를 빠르게 배포할 수 있는 bash 스크립트입니다.

 


Monitoring


ㅁ Dashboard  웹에서 클러스터 정보확인

Kubernetes 대시보드는 클러스터 모니터링 및 관리를 위한 사용자 친화적인 그래픽 인터페이스를 제공하므로 애플리케이션을 더 쉽게 시각화하고 제어할 수 있습니다. 

참고: [minikube] Kubernetes 대시보드

 

ㅁ kube watch

모니터링 목적으로 kube watch는 Kubernetes 클러스터 내의 변경 사항과 이벤트를 관찰하는 편리한 방법을 제공하여 애플리케이션 상태에 대한 최신 정보를 지속적으로 제공합니다.

 

 

ㅁ 함께 보면 좋은 사이트

 

Kubernetes Deployment Tools and Best Practices

Kubernetes Deployment tools, best practices, challenges, and Security solutions on AWS, Google Cloud and Azure for enterprises.

www.xenonstack.com

 

GitHub - robusta-dev/kubewatch: Watch k8s events and trigger Handlers

Watch k8s events and trigger Handlers. Contribute to robusta-dev/kubewatch development by creating an account on GitHub.

github.com

 

반응형
Comments