티스토리 뷰

<참고> https://www.youtube.com/watch?v=VGoeYmnOLCc

 

 

 

들어가기에 앞서

 

Kubernetes를 처음 스터디 하는 과정에서 실습을 위해 Minikube를 설치하게 된다.

그러나 이런 저런 이유로 설치도 다소 번거롭고 설치 후 구동이 안되는 경우도 종종 발생하게 된다.

Windows 환경에서 Kubernetes 실습 환경을 구성하려는 사용자들을 대상으로 이에 대한 대안을 소개하고자 한다.

(MAC 사용자의 경우 전체적인 흐름은 비슷하지만 진행상 어려움이 있다면 참고 유투브 동영상을 참조한다.)

 

 

 

 

 

 

Docker Desktop for Windows (Edge) 설치

 

Docker Desktop for Windows (Edge)를 다운로드 한다.

 

기본 설정을 유지하여 설치를 진행 한다.

 

설치가 완료되면 Close and restart를 클릭한다.

 

 

 

 

 

Kubernetes 활성화

 

우측 하단의 docker desktop 로그인 창에서 Docker 로그인을 수행한다.

 

우측 하단에서 Docker 아이콘을 클릭하고 Settings를 선택한다.

 

Kubernetes 메뉴에서 Enable Kubernetes 체크박스를 선택하고 Apply & Restart를 클릭한다.

 

적용하고 재구동 되는데 약 2~3분 정도 소요된다.

 

적용이 완료되면 화면 하단에 Kubernetes가 running 상태로 전시된다.

 

 

 

 

 

Kubernetes 배포 확인 및 기본 테스트

 

cmd 창을 띄어 kubectl get nodes 명령을 통해 배포결과를 확인한다.

짠~~~!!! 축하한다~~~^^ master가 Ready 상태를 찍으며 여러분의 Command 입력을 대기하고 있다.

 

이제 첫번 째 애플리케이션을 배포해 보겠다.

 

참고로 Windows PowerShell 터미널로 작업환경을 변경하여 계속 진행하겠다. (cmd 터미널에서 화면 출력이 다소 거시기하다.)

 

kubectl run 명령을 수행하여 hello-kubernetes를 배포하고 kubectl get all 명령으로 결과를 확인한다.

kubectl run hello-kubernetes --image=k8s.gcr.io/echoserver:1.4 --port=8080

kubectl get all

 

kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/hello-kubernetes created
PS C:\Users\zerobig> kubectl get all
NAME                                    READY   STATUS              RESTARTS   AGE
pod/hello-kubernetes-5cbfbc65b6-ntffp   0/1     ContainerCreating   0          22s
 
 
NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   58m
 
 
NAME                               READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/hello-kubernetes   0/1     1            0           23s
 
NAME                                          DESIRED   CURRENT   READY   AGE
replicaset.apps/hello-kubernetes-5cbfbc65b6   1         1         0       23s
 
 
 
 
PS C:\Users\zerobig> kubectl get all
NAME                                    READY   STATUS    RESTARTS   AGE
pod/hello-kubernetes-5cbfbc65b6-ntffp   1/1     Running   0          30s
 
 
NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   59m
 
 
NAME                               READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/hello-kubernetes   1/1     1            1           31s
 
NAME                                          DESIRED   CURRENT   READY   AGE
replicaset.apps/hello-kubernetes-5cbfbc65b6   1         1         1       31s

 

배포한 hello-kubernetes를 NodePort 형식을 사용하여 서비스 노출 시킨다.

 

kubectl expose deployment hello-kubernetes --type=NodePort

kubectl get service

 

중간에 방화벽 허용 여부를 묻는 창이 뜨면 Allow access를 클릭하여 허용한다.

 

 

화면의 출력 결과는 다음과 같은 모습일 것이다.

kubectl get servce 명령 수행의 결과에서 Node 포트 (현재 예시에서는 31629)를 복사해둔다.

PS C:\Users\zerobig> kubectl expose deployment hello-kubernetes --type=NodePort
service/hello-kubernetes exposed
PS C:\Users\zerobig> kubectl get service
NAME               TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
hello-kubernetes   NodePort    10.105.46.120   <none>        8080:31629/TCP   50s
kubernetes         ClusterIP   10.96.0.1       <none>        443/TCP          60m
PS C:\Users\zerobig>

 

웹 브라우처 창에 http://localhost:<Node Port>를 입력하여 결과를 확인한다.

짜짠~~~!!! 축하한다~~^^ 성공적으로 애플리케이션을 배포하였다. 

 

 

이제부터 구축된 환경을 활용하여 Kubernetes를 마음 껏 가지고 놀면 된다.

 

Enjoy your Kubernetes journey~~~~!!!

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함