Rancher Desktop을 사용하던 중 문득 이것에 대해 잘 알지 못한다는 생각이 들었습니다. 그래서 생각이 난 김에 가볍게 개념을 정리해보려고 합니다.
Docker Desktop 의 유료화로 인해 그에 대한 대처방안으로 VM + minikube 또는 Rancher Desktop 이렇게 크게 2가지로 대체하는 것 같습니다.
1. VM + minikube
minikube 는 가벼운 쿠버네티스 구현체이며, 로컬 머신에 VM 을 만들어 하나의 노드로 구성된 간단한 클러스터를 생성하는 로컬 쿠버네티스 엔진이다.(쿠버네티스와 비교하자면 쿠버네티스는 컨테이너의 클러스터를 단일 시스템으로 관리하는 것)
쿠버네티스는 마스터 노드와 하나 이상의 워커 노드로 구성되어 있는데
단순 개발 테스트를 위해 플랫폼 구성이 어려운 상황에서 마스터 노드의 일부 기능과 개발/배포를 위한 단일 워커 노드를 제공해주는 간단한 쿠버네티스 플랫폼 환경을 제공해준다.
즉, 로컬 머신에 VM 을 만들고 하나의 노드로 구성된 간단한 클러스터를 배포하는 가벼운 쿠버네티스 구현체라고 보면 된다.
2. Rancher Desktop
k8s를 관리하기 위한 어플리케이션으로 k8s클러스터를 중심으로 설계되었다. k8s버전을 자유롭게 선택할 수 있으며 이러한 버전 전환을 통해 로컬 개발 환경을 특정 프로젝트 요구 사항에 맞게 조정할 수 있다.
- 표준 Docker와 Containerd 및 runc 등의 여러 컨테이너 런타임을 지원하므로 프로덕션 환경에서와 동일한 컨테이너 런타임을 실행할 수 있다.
- Rancher Desktop 은 데스크탑 쿠버네티스 및 컨테이너 관리를 위한 오픈 소스 앱으로 쿠버네티스용 GUI 라고 볼 수 있다.(쿠버네티스 컨테이너를 관리할 수 있는 오픈소스 프로그램)
- 내부적으로 컨테이너 엔진으로 containerd or dockerd 를 사용하여 nerdctl 또는 docker cli 로 사용 가능하다.
- 어느 컨테이너 엔진을 사용할지는 설치 후에도 변경 가능하다.
- 또한 버튼 클릭만으로 kubernetes 서비스를 포트 포워딩할 수 있다.
- nerdctl 또는 Docker CLI 와 함께 사용하면 이미지와 컨테이너를 빌드, 실행하는 작업을 수행할 수 있다.
사용이유
- 컨테이너 관리를 하고 편리하게 실행시키기 위해
- 쿠버네티스를 단순하게 사용하기 위해
- 신뢰성 있는 프로젝트를 위해
공식 문서에서는 아래와 같이 사용할것을 권장하고 있습니다.
우리는 또한 쿠버네티스 버전이 많이 생산되고 있다는 것을 알고 있었습니다. 우리는 로컬 환경이 프러덕션과 동일한 버전의 쿠버네티스가 되기를 원했습니다. Kubernetes 버전의 모든 뉘앙스와 버전 간의 API 변경으로 인해 프로덕션에서와 동일한 버전을 로컬에서 테스트하고 사용하는 것이 유용할 수 있습니다.
- 공식문서에서 FAQ와 Troubleshooting Tips 를 살펴보면 Rancher Desktop을 이해하는데 큰 도움이 되니 살펴보셔도 좋을 것 같습니다.
Rancher Desktop 설치 : https://rancherdesktop.io/
Rancher Desktop 공식문서 (운영체제 지원 및 시스템 요구사항확인) : https://docs.rancherdesktop.io/
Rancher Desktop에 대해 정확히 파악하지 못하고 있었는데 급 알아보고 싶은 마음이 생겨 작성했습니다 ㅎ..
kubernetes의 작동 방식을 구성하고 포트포워딩 설정을 하는 것과 같이 알지 못했던 영역들을 학습할 수 있어 좋은 기회가 되었습니다.
개인적으로도 로컬에서 구동시켜 k8s를 관리하는 용도로 사용하고 있습니다.
출처
'Kubernetes' 카테고리의 다른 글
cephObjectGateway(Feat. bucket 생성) (0) | 2024.07.12 |
---|---|
쿠버네티스 파드 라이프사이클(Feat. 고아파드) (0) | 2024.03.31 |