쿠버네티스 실습을 위해 minikube, kubectl을 설치
쿠버네티스를 운영환경에 설치하기 위해선 최소 3대의 마스터 서버와 컨테이너 배포를 위한 n개의 노드 서버가 필요합니다
이러한 설치는 과정이 복잡하고 배포 환경(AWS, Google Cloud, Azure, Bare Metal, ...)에 따라 방법이 다르기 때문에 처음 공부할 때 바로 구축하기는 적합하지 않습니다.
여기선 개발 환경을 위해 마스터와 노드를 하나의 서버에 설치하여 손쉽게 관리하는 방법을 사용합니다.
쿠버네티스 개발 환경 구축 방법
- minikube
- 무료
- k3s
- 저렴한 비용
- docker for descktop
- kind
쿠버네티스 클러스터를 실행하려면 최소한 scheduler, controller, api-server, etcd, kubelet, kube-proxy를 설치해야 하고 필요에 따라 dns, ingress controller, storage class등을 설치해야 합니다.
쿠버네티스는 설치 또한 중요한 과정이지만 처음 공부할 땐 설치보단 실질적인 사용법을 익히는 게 중요
minikube가 사용할 드라이버
- minikube start 시 드라이버 지정하면 된다.
- vmware
- virtualbox
- hyper-v
- docker desktop for windows (+ WSL2)
Hyper-V
: 마이크로소프트사에서 제공해주는 가상화 툴
- 윈도우에서 사용하면 가상 머신으로 여러 운영 체제를 실핼할 수 있게 도와준다.
- 지원가능한 운영체제: Window 10 Pro, Enterprise, education
내 환경은 Window 10 home 이므로, virtual box를 이용해야한다.
처음에 이거 보고 따라하는데..
근데 오류남.. 뭔데 ㅜ
PS C:\WINDOWS\system32> minikube start --driver=virtualbox
* Microsoft Windows 10 Home 10.0.19042 Build 19042 의 minikube v1.25.1
* 기존 프로필에 기반하여 virtualbox 드라이버를 사용하는 중
* minikube 클러스터의 minikube 컨트롤 플레인 노드를 시작하는 중
* virtualbox VM (CPUs=2, Memory=2200MB, Disk=20000MB) 를 생성하는 중 ...
! StartHost failed, but will try again: creating host: create: precreate: This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory
* virtualbox VM (CPUs=2, Memory=2200MB, Disk=20000MB) 를 생성하는 중 ...
* Failed to start virtualbox VM. Running "minikube delete" may fix it: creating host: create: precreate: This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory
X Exiting due to HOST_VIRT_UNAVAILABLE: Failed to start host: creating host: create: precreate: This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory
* 권장: Virtualization support is disabled on your computer. If you are running minikube within a VM, try '--driver=docker'. Otherwise, consult your systems BIOS manual for how to enable virtualization.
* 관련 이슈들:
- https://github.com/kubernetes/minikube/issues/3900
- https://github.com/kubernetes/minikube/issues/4730
나랑 비슷한 오류 블로그 발견
근데 안됨... 그래서 다른 블로그 참조
PS C:\WINDOWS\system32> minikube start --vm-driver=virtualbox
* Microsoft Windows 10 Home 10.0.19042 Build 19042 의 minikube v1.25.1
! Both driver=docker and vm-driver=virtualbox have been set.
Since vm-driver is deprecated, minikube will default to driver=docker.
If vm-driver is set in the global config, please run "minikube config unset vm-driver" to resolve this warning.
* 유저 환경 설정 정보에 기반하여 docker 드라이버를 사용하는 중
* minikube 클러스터의 minikube 컨트롤 플레인 노드를 시작하는 중
* 베이스 이미지를 다운받는 중 ...
> gcr.io/k8s-minikube/kicbase: 378.98 MiB / 378.98 MiB 100.00% 7.64 MiB p/
* Creating docker container (CPUs=2, Memory=2200MB) ...\ E0131 17:18:16.426666 552 kic.go:267] icacls failed applying permissions - err - [%!s(<nil>)], output - [ó���� ����: C:\Users\�̳���\.minikube\machines\minikube\id_rsa
1 ������ ó�������� 0 ������ ó������ ���߽��ϴ�.]
! Executing "docker container inspect minikube --format={{.State.Status}}" took an unusually long time: 2.8788103s
* Restarting the docker service may improve performance.
* 쿠버네티스 v1.23.1 을 Docker 20.10.12 런타임으로 설치하는 중
- kubelet.housekeeping-interval=5m
- 인증서 및 키를 생성하는 중 ...
- 컨트롤 플레인이 부팅...
- RBAC 규칙을 구성하는 중 ...
* Kubernetes 구성 요소를 확인...
E0131 17:21:13.303882 552 start.go:770] failed to inject {"host.minikube.internal": 192.168.65.2} host record into CoreDNS
Failed to inject host.minikube.internal into CoreDNS, this will limit the pods access to the host IP* 애드온 활성화 : storage-provisioner, default-storageclass
* 끝났습니다! kubectl이 "minikube" 클러스터와 "default" 네임스페이스를 기본적으로 사용하도록 구성되었습니다.
성공한듯,,?
참고
'도커&쿠버네티스' 카테고리의 다른 글
[도커/쿠버네티스] 7장 쿠버네티스 리소스의 관리와 설정(네임스페이스, 컨피그맵, 시크릿) (0) | 2022.02.23 |
---|---|
[도커/쿠버네티스] 5장 쿠버네티스 설치 / 6장 쿠버네티스 시작하기 (포드, 레플리카셋, 디폴로이먼트, 서비스) (0) | 2022.02.07 |
[도커/쿠버네티스] 4장 도커 컴포즈 (0) | 2022.01.25 |
[도커/쿠버네티스] 3장 도커 스웜 (0) | 2022.01.18 |
[도커/쿠버네티스] 2.5장 도커 데몬 (0) | 2022.01.10 |
댓글