Hello Minikube
Hello Minikube
이 튜토리얼에서는 minikube를 사용해 쿠버네티스에서 샘플 앱을 실행하는 방법을 함께 살펴봐요. 튜토리얼에서 사용하는 컨테이너 이미지는 NGINX를 사용해 들어오는 모든 요청을 그대로 되돌려 보내줍니다.
출처: 문서
본문
목표 (Objectives)
- 샘플 애플리케이션을 minikube에 배포한다.
- 앱을 실행한다.
- 애플리케이션 로그를 확인한다.
시작하기 전에
이 튜토리얼은 이미 minikube를 설정했다고 가정해요. 설치 방법은 minikube start의 1단계를 참고하세요.
kubectl도 설치해야 해요. 설치는 Install tools를 참고하세요.
minikube 클러스터 만들기
minikube start
minikube 클러스터 상태 확인하기
minikube 클러스터의 상태를 확인해 모든 구성 요소가 실행 중인지 검증해요.
minikube status
위 명령의 출력은 모든 구성 요소가 Running 또는 Configured 상태로 표시돼야 해요. 예시 출력은 다음과 같습니다:
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
대시보드 열기
쿠버네티스 대시보드를 열어볼게요. 두 가지 방법으로 열 수 있습니다.
새 터미널을 열고 다음을 실행해요:
# 새 터미널을 열고, 이 상태로 실행을 유지하세요.
minikube dashboard
이제 minikube start를 실행한 터미널로 다시 돌아갑니다.
dashboard 명령은 대시보드 애드온을 활성화하고 기본 웹 브라우저에서 프록시를 엽니다.
대시보드에서 Deployment나 Service 같은 쿠버네티스 리소스를 만들 수 있어요.
터미널에서 브라우저를 직접 호출하지 않고 웹 대시보드 URL을 얻는 방법은 "URL copy and paste" 탭을 참고하세요.
기본적으로 대시보드는 쿠버네티스 내부 가상 네트워크 안에서만 접근할 수 있어요. dashboard 명령은 쿠버네티스 가상 네트워크 바깥에서도 대시보드에 접근할 수 있게 임시 프록시를 만들어줍니다.
프록시를 중지하려면 Ctrl+C로 프로세스를 종료해요. 명령이 종료된 뒤에도 대시보드는 쿠버네티스 클러스터 안에서 계속 실행됩니다. dashboard 명령을 다시 실행하면 대시보드에 접근할 새 프록시를 또 만들 수 있어요.
minikube가 웹 브라우저를 자동으로 열지 않게 하려면 --url 플래그와 함께 dashboard 하위 명령을 실행해요. minikube가 원하는 브라우저에서 열 수 있는 URL을 출력해줍니다.
새 터미널을 열고 다음을 실행해요:
# 새 터미널을 열고, 이 상태로 실행을 유지하세요.
minikube dashboard --url
이제 이 URL을 사용하고, minikube start를 실행한 터미널로 다시 돌아가면 됩니다.
Deployment 만들기
쿠버네티스 Pod는 하나 이상의 컨테이너를 관리와 네트워킹 목적으로 묶어 놓은 단위예요. 이 튜토리얼의 파드는 컨테이너 하나만 가지고 있습니다. 쿠버네티스 Deployment는 파드의 상태를 확인하고, 파드의 컨테이너가 종료되면 다시 시작해줘요. Deployment는 파드의 생성과 스케일링을 관리하는 데 권장되는 방식입니다.
Service 만들기
기본적으로 파드는 쿠버네티스 클러스터 안의 내부 IP 주소로만 접근할 수 있어요. hello-node 컨테이너를 쿠버네티스 가상 네트워크 바깥에서 접근하게 하려면, 파드를 쿠버네티스 Service로 노출해야 합니다.
애드온 활성화하기
minikube 도구에는 로컬 쿠버네티스 환경에서 활성화·비활성화·열기가 가능한 내장 애드온 세트가 포함되어 있어요.
정리하기
이제 클러스터에서 만든 리소스를 정리할 수 있어요:
kubectl delete service hello-node
kubectl delete deployment hello-node
Minikube 클러스터를 중지해요:
minikube stop
선택적으로 Minikube VM을 삭제할 수 있어요:
# Optional
minikube delete
minikube를 다시 사용해서 쿠버네티스를 더 배우고 싶다면 삭제할 필요가 없어요.
결론
이 페이지에서는 minikube 클러스터를 시작하고 실행하는 기본적인 내용을 다뤘어요. 이제 애플리케이션을 배포할 준비가 되었습니다.
더 알아보기 (Learn more)
- kubectl로 쿠버네티스에 첫 앱 배포하기 튜토리얼.
- Deployment 오브젝트에 대해 자세히 알아보기.
- 애플리케이션 배포에 대해 자세히 알아보기.
- Service 오브젝트에 대해 자세히 알아보기.