Kubernetes cluster (Minikube), kubectl 설치
https://www.inflearn.com/course/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-%EC%9E%85%EB%AC%B8
초보를 위한 쿠버네티스 안내서 강의 - 인프런
쿠버네티스를 1도 모르는 입문자, 초보자를 위한 쿠버네티스 안내서 입니다. 초보자도 이해하기 쉬운 내용과 흐름으로 구성했어요., 데브옵스(DevOps) 입문자라면 주목! 쿠버네티스의 첫발을 함
www.inflearn.com
쿠버네티스 설치
쿠버네티스 실습을 위해 클러스터를 설치합니다.
subicura.com
클러스터
컨테이너화된 애플리케이션을 실행하는 노드(물리적 또는 가상 머신)의 집합.
마스터, 노드, etcd 등이 포함.
개발 vs 운영
- 운영 환경에서는 최소 3대의 마스터 서버, 컨테이너 배포를 위한 n개의 노드 서버가 필요
- 설치 과정 복잡하고 배포 환경(AWS,Google Cloud 등)에 따라 방법이 다르다
- 개발 환경에서는 이렇게 여러개의 서버는 불필요하기 때문에, 마스터와 노드를 하나의 서버에 설치해서 개발
- 이런 하나의 서버로 이루어진 개발환경에서는 여러 노드에 스케줄링 테스트가 어렵고, 로드 밸런서와 Persistent Local Storage 를 가상으로 만들어야 하는 문제가 있다 -> 정확한 실습,테스트는 운영환경에서 진행해야함
Minikube
개발환경을 위해 마스터와 노드를 하나의 서버에 쉽게 설치해주는 여러 프로그램이 있다.
minikube, k3s, docker for desktop 등 ...
Minikube 는 가상머신 위에 이런 개발환경을 구축한다.
Minikube 명령어
# 버전확인
minikube version
# 가상머신 시작 (반드시 관리자권한으로 실행)
minikube start --driver=hyperv
# driver 에러가 발생한다면 virtual box를 사용
minikube start --driver=virtualbox
# 특정 k8s 버전 실행
minikube start --kubernetes-version=v1.23.1
# 상태확인
minikube status
# 정지 (minikube 는 정지할때 이전 상태 저장해놓음)
minikube stop
# 삭제
minikube delete
# ssh 접속
minikube ssh
# ip 확인
minikube ip
minikube status
host, kubelete, apiserver 이 running 중인 것을 볼 수 있다.
minikube ssh
ssh 로 가상머신 위에서 돌아가는 kubernates cluster 을 로컬에서 접근할수 있다.
진입후 'docker ps' 로 도커 컨테이너들을 볼수 있다.
이렇게 나는 도커 컨테이너를 따로 설치하지 않았지만 minikube 가 알아서 kubernates를 위한 컨테이너들을 생성한것을 볼수 있다.
kubectl
Minikube 로 쿠버네티스 클러스터를 설치했다.
이 클러스터와 소통은 kubectl 을 사용한다.
설치 명령어
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.23.5/bin/windows/amd64/kubectl.exe