[k8s] minikube로 로컬 환경 구성하기

jordy·2023년 2월 4일
0

study-k8s

목록 보기
7/7
post-thumbnail

미니쿠베를 세팅하여 간단하게 로컬환경에서 실습을 진행 할 수 있도록 세팅을 진행해 보았습니다

현재 로컬 환경은 두가지

  1. Windows OS (데스크탑)
  2. Mac OS (맥북) - ( 맥북은 이미 세팅이 되어있어 포스팅 할지 미지수 )

Windows

1) Docker Desktop를 설치합니다

download : https://www.docker.com/products/docker-desktop/

2) minikube 설치

minikube exe 파일을 다운 받습니다

download : https://minikube.sigs.k8s.io/docs/start/


( 운영체제 및 릴리즈 타입 선택 )

다운받은 exe 파일을 실행해 설치합니다

(설치 완료 화면)

3) minikube 설치 확인

minikube version

결과

C:\Users\pilgr>minikube version
minikube version: v1.29.0
commit: ddac20b4b34a9c8c857fc602203b6ba2679794d3

4) minikube 클러스터 구축 및 확인

minikube start

결과

PS C:\Users\pilgr> minikube start
* Microsoft Windows 10 Education 10.0.19045.2486 Build 19045.2486 의 minikube v1.29.0
* 자동적으로 docker 드라이버가 선택되었습니다. 다른 드라이버 목록: virtualbox, ssh
* Using Docker Desktop driver with root privileges
* minikube 클러스터의 minikube 컨트롤 플레인 노드를 시작하는 중
* 베이스 이미지를 다운받는 중 ...
* 쿠버네티스 v1.26.1 을 다운로드 중 ...
    > preloaded-images-k8s-v18-v1...:  397.05 MiB / 397.05 MiB  100.00% 36.17 M
    > gcr.io/k8s-minikube/kicbase...:  407.19 MiB / 407.19 MiB  100.00% 20.66 M
* Creating docker container (CPUs=2, Memory=4000MB) ...
* 쿠버네티스 v1.26.1 을 Docker 20.10.23 런타임으로 설치하는 중
  - 인증서 및 키를 생성하는 중 ...
  - 컨트롤 플레인이 부팅...
  - RBAC 규칙을 구성하는 중 ...
* Configuring bridge CNI (Container Networking Interface) ...
  - Using image gcr.io/k8s-minikube/storage-provisioner:v5
* Kubernetes 구성 요소를 확인...
* 애드온 활성화 : storage-provisioner, default-storageclass

! C:\Program Files\Docker\Docker\resources\bin\kubectl.exe is version 1.21.4, which may have incompatibilities with Kubernetes 1.26.1.
  - Want kubectl v1.26.1? Try 'minikube kubectl -- get pods -A'
* 끝났습니다! kubectl이 "minikube" 클러스터와 "default" 네임스페이스를 기본적으로 사용하도록 구성되었습니다.

쿠버네티스 시스템을 확인합니다

PS C:\Users\pilgr> kubectl get po -A
NAMESPACE     NAME                               READY   STATUS    RESTARTS       AGE
kube-system   coredns-787d4945fb-mkm4z           1/1     Running   0              2m14s
kube-system   etcd-minikube                      1/1     Running   0              2m25s
kube-system   kube-apiserver-minikube            1/1     Running   0              2m25s
kube-system   kube-controller-manager-minikube   1/1     Running   0              2m25s
kube-system   kube-proxy-t4wtt                   1/1     Running   0              2m14s
kube-system   kube-scheduler-minikube            1/1     Running   0              2m25s
kube-system   storage-provisioner                1/1     Running   1 (112s ago)   2m24s

정상적으로 쿠베 시스템이 확인됩니다

minikube 는 docker image 를 다운받고 실행하며 kubectl 연결을 위한 설정까지 해줍니다

도커 이미지 확인

docker images

PS C:\Users\pilgr> docker images
REPOSITORY                    TAG       IMAGE ID       CREATED      SIZE
gcr.io/k8s-minikube/kicbase   v0.0.37   01c0ce65fff7   8 days ago   1.15GB

컨테이너 확인

docker ps -a

PS C:\Users\pilgr> docker ps -a
CONTAINER ID   IMAGE                                 COMMAND                  CREATED         STATUS         PORTS                                                                                                                                  NAMES
11342db11be0   gcr.io/k8s-minikube/kicbase:v0.0.37   "/usr/local/bin/entr…"   5 minutes ago   Up 5 minutes   127.0.0.1:61202->22/tcp, 127.0.0.1:61203->2376/tcp, 127.0.0.1:61200->5000/tcp, 127.0.0.1:61201->8443/tcp, 127.0.0.1:61204->32443/tcp   minikube

kube cluster 와 kubectl 연결을 위한 설정파일

cat ~/.kube/config

PS C:\Users\pilgr> cat ~/.kube/config
apiVersion: v1
clusters:
- cluster:
    certificate-authority: C:\Users\pilgr\.minikube\ca.crt
    extensions:
    - extension:
        last-update: Sat, 04 Feb 2023 20:41:51 KST
        provider: minikube.sigs.k8s.io
        version: v1.29.0
      name: cluster_info
    server: https://127.0.0.1:61201
  name: minikube
contexts:
- context:
    cluster: minikube
    extensions:
    - extension:
        last-update: Sat, 04 Feb 2023 20:41:51 KST
        provider: minikube.sigs.k8s.io
        version: v1.29.0
      name: context_info
    namespace: default
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
  user:
    client-certificate: C:\Users\pilgr\.minikube\profiles\minikube\client.crt
    client-key: C:\Users\pilgr\.minikube\profiles\minikube\client.key

클러스터 확인

kube cluster-info

PS C:\Users\pilgr> kubectl cluster-info
Kubernetes control plane is running at https://127.0.0.1:61201
CoreDNS is running at https://127.0.0.1:61201/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

5) 마무리

오늘은 현재 공부중인 k8s 를 손쉽게 집에서도 실습할 수 있도록 윈도우 환경에 minikube 를 활용해 세팅해보았습니다.

간단하게 무료로 쿠버네티스 작업을 할 수 있어 추천드리지만 어디까지 활용이 가능할지 궁금해집니다.

[참고 링크]
https://velog.io/@gentledev10/install-minikube
https://minikube.sigs.k8s.io/docs/start/

profile
Hello Worlds!

0개의 댓글