유료로 전환되는 도커 데스크탑 대체하기 (Mac M1)
아래 트윗처럼 도커가 가격 정책을 변경했다. Docker Desktop은 기업내에서 더이상 무료가 아니다.
We’re updating and extending our product subscriptions! New subscription tiers include Personal, Pro, Team, and Business. Details here: https://t.co/pyDetDKGjC #Docker #Subscriptions pic.twitter.com/Or8l6YoIUO
- Docker (@Docker) August 31, 2021
Kubernetes에서 애플리케이션을 실행해야 한다면 데스크탑에 Kubernetes를 설치하는 것이 매우 유용하고 Docker Desktop을 잘 써 왔었다.
이제 도커를 기업에서 사용하려면 구독을 해야하기에 대안을 모색해봤다. 본 글에서는 Docker Desktop 대체제를 조사했고 설치 및 설정에 대해서 다루고자 한다.
Rancher Desktop
Rancher Desktop은 Kubernetes 및 컨테이너 관리를 데스크탑에서 지원하는 오픈 소스 프로젝트이다.
Rancher Desktop은 아래의 기능을 제공한다.
- Kubernetes 버전 선택 가능
- Kubernetes를 업그레이드 및 테스트 지원
- 컨테이너를 실행하고 이미지를 빌드, 푸시 및 가져오기 지원
현재 Lima와 nerdctl은 GUI를 제공하지 않지만, Rancher Desktop은 Electron 기반의 GUI를 제공한다.
동작 원리
Rancher Desktop은 다른 도구를 매핑하는 방식으로 동작이 된다. MacOS 및 Linux 에서는 가상 머신을 활용하여 컨테이너 및 Kubernetes를 실행한다.
Rancher Desktop 설치
테스트한 환경이 Mac M1이기에 이 기준으로 작성한다.
Rancher Desktop 설치는 간단하다. Github release 에 접속해 rancher-desktop-{version}-aarch64.dmg 파일을 다운로드 하고 설치 하면 된다.
설치 후 “Rancher Desktop” 앱을 실행하면, 아래의 화면이 나오고 본인 환경에 맞게 옵션을 선택하면 된다. 아래는 내가 선택한 옵션이다.
Kubernetes 버전 선택
기본적으로 Rancher Desktop은 Kubernetes의 버전을 선택할 수 있다. v1.16부터 원하는 Kubernetes 버전을 선택할 수 있다.
위 화면은 Mac용 Rancher Desktop의 Kubernetes 설정 화면이다. 여기서 사용하려는 Kubernetes 버전을 선택할 수 있다. 새 버전을 선택하면 Rancher Desktop은 버전에 필요한 모든 구성 요소를 다운로드하고 로컬 버전을 전환한다.
지원 툴 선택
helm, kubectl 및 nerdctl까지 필요한 유틸리티를 체크하면 사용할 수 있도록 설치해준다.
Images
k8s.io namespace에 기본적으로 설치되는 Image들이다.
Rancher Desktop 사용
Rancher Desktop이 실행되면 Kubernetes를 사용하는 것과 큰 차이가 없다. 터미널을 열어서 kubectl 명령어를 실행해보자.
giljae@giljae ~ % kubectl get pods — all-namespaces
Nginx 구동 시키기
nerdctl 명령어를 이용해서 nginx image를 pull한다.
giljae@giljae ~ % nerdctl pull nginx
image가 존재하는지 확인해본다.
giljae@giljae ~ % nerdctl images nginx
command외에 rancher desktop app의 Images에서도 확인이 가능하다.
이제 Nginx를 구동 시켜보자. 간단하게 테스트 할 목적으로 daemon으로 구동하진 않았다.
giljae@giljae ~ % nerdctl run -p 8000:80 nginx
브라우저에서 확인해보자. (http://127.0.0.1:8000)
Rancher Desktop에 대한 자세한 내용은 여기 를 참조하자.
Originally published at https://giljae.com.