minikube 를 사용해 쿠버네티스 어플리케이션을 배포하는 작업을 진행해보겠습니다.
우선 배포를 진행하기 전 간략하게 쿠버네티스에 대해 정리하는 시간을 가져보도록 하겠습니다.
![](https://t1.daumcdn.net/keditor/emoticon/niniz/large/015.gif)
쿠버네티스 클러스터는 아래와 같이 구성되어 있습니다.
Deployment 안에 Master 가 포함 되어있는 구조로,
Master는 Deployment에 포함된 어플리케이션 인스턴스가 클러스터의 개별 노드에서 실행되도록 스케줄을 합니다.
즉 Deployment는 쿠버네티스에게 어플리케이션 인스턴스에 대한 생성 및 업데이트를 지시하는 역할을 수행한다고 볼 수 있습니다.
배포를 담당하는 리소스입니다
쿠버네티스에서 deployment가 제일 중요하다고 볼 수 있겠죠?
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/014.gif)
1. 어플리케이션 배포 (새 유저 권한으로 진행)
쿠버네티스 공식 사이트에서 배포하는 경량 ecoserver를 이용해 deployment 생성 및 배포를 진행해보도록 하겠습니다.
도커 이미지가 있다면 개인 이미지를 이용해서 생성해도 무방합니다.
create 명령어는 deployment를 생성
expose 명령어는 외부로 서비스를 노출해 서비스를 실행
expose 명령어 옵션 중 type=NodePort로 지정되어야 외부 포트 통신이 가능하기때문에 이 점 유의해주세요!!!
외부로 노출 할 포트는 8080입니다.
sudo su newuser
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.10
kubectl expose deployment hello-minikube --type=NodePort --port=8080
2. 외부 IP 포드 포워딩 적용 (새 유저 권한으로 진행)
활성화 되어있는 서비스목록을 아래의 명령어를 통해 확인 할 수 있습니다.
kubectl get svc
hellpo-minikube로 생성한 deloyment가 8080으로 세팅되어 있는 것을 확인 할 수 있습니다~
하지만 외부 포트 8080 을 열어놓은 상태로 서비스는 활성화 되어있지만 외부 IP traffic을 허용 한 상태는 아니므로 인스턴스 퍼블릭 IP로 접속이 되지는 않습니다.
외부 IP에서 접근하기 위해서는 port-forward 명령어로 외부 IP 를 허용합니다
address 옵션을 이용해 0.0.0.0 으로 모든 IP 대역을 허용해줍니다.
8888포트로 접속하면 서비스를 오픈해놓은 8080포트로 연결시켜줘 포트포워딩을 실행해줍니다
kubectl port-forward --address 0.0.0.0 svc/hello-minikube 8888:8080
인스턴스 퍼블릭 IP의 8888포트로 접속하니 8080으로 포워딩 내역을 아래와 같이 확인 할 수 있습니다
ecoserver로 어플리케이션 배포한 내역이 아래와 같이 나오네요~
minikube를 이용하니 배포를 쉽게 할 수 있어 편리하다는 생각이 드네요~ ㅎㅎ
이러한 장점때문에 개인이 많이 사용하는 것 같습니다
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/006.gif)
'Cloud > AWS' 카테고리의 다른 글
[MiniKube 실습] Cloud9 ECR 업로드 및 yaml 파일 배포 (0) | 2022.11.10 |
---|---|
[MiniKube 실습] kubectl 설치 및 minikube 확인하기 (0) | 2022.11.09 |
[MiniKube 실습] Minikube 설치 및 실행하기 (0) | 2022.11.08 |
[MiniKube 실습] Minikube 수행을 위한 새로운 사용자 생성하기 (0) | 2022.11.08 |
[MiniKube 실습] ECR 이미지 사용을 위한 IAM Role 생성 (0) | 2022.11.08 |