간단한 앱 배포
kubectl을 사용하여 Minikube 클러스터에 기본 컨테이너화 애플리케이션을 배포하세요.
간단한 앱 배포은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.
Kubernetes에서 첫 번째 앱 실행하기
환영합니다! 이 레슨에서는 Minikube 클러스터에 첫 번째 애플리케이션을 배포하는 중요한 단계를 진행합니다.
kubectl이라는 강력한 명령줄 도구를 사용하여 코드를 실행 중인 서비스로 전환하는 앱의 전체 과정을 관리합니다.

Deployment 소개
Kubernetes에서 Deployment는 클러스터에 애플리케이션을 실행하도록 지시하는 방법입니다.
- 동일한 애플리케이션 복사본(Pod) 집합을 관리합니다.
- 지정된 수의 복사본이 항상 실행되도록 보장합니다.
- 앱 인스턴스를 위한 설계도이자 관리자라고 생각하면 됩니다.
`kubectl`로 배포하기
앱을 실행하는 가장 쉬운 방법은 kubectl create deployment 명령을 사용하는 것입니다.
Deployment의 이름과 실행하려는 컨테이너 이미지만 지정하면 됩니다. 나머지는 Kubernetes가 처리합니다!
첫 번째 Deployment 만들기
간단한 Nginx 웹 서버를 배포해 보겠습니다. 이 명령은 Kubernetes에 nginx Docker 이미지를 사용하여 nginx-deployment라는 Deployment를 만들도록 지시합니다.
kubectl create deployment nginx-deployment --image=nginx
Minikube가 실행 중인 터미널에서 이 명령을 실행합니다.
Deployment 확인하기
명령을 실행하면 Kubernetes가 필요한 리소스를 만들기 시작합니다. 다음과 같이 상태를 확인할 수 있습니다.
- Deployment를 확인하려면:
kubectl get deployments - Deployment가 만든 Pod를 확인하려면:
kubectl get pods
nginx-deployment와 이에 해당하는 Pod를 찾아보세요!
Service가 중요한 이유
Nginx Pod가 실행 중입니다. 그런데 사용자는 어떻게 이 Pod에 액세스할까요?
- Pod에는 임시 IP 주소가 할당됩니다.
- Pod가 종료되고 교체되면 새로운 IP가 할당될 수 있습니다.
- Service는 안정적인 네트워크 엔드포인트를 제공하여 Pod로 연결되는 게이트웨이 역할을 합니다.
Pod가 생성되고 사라지더라도 항상 정상 상태인 Pod로 트래픽이 전달되도록 보장합니다.
애플리케이션 외부에 공개하기
Nginx에 액세스할 수 있도록 kubectl expose를 사용하여 Service를 만듭니다. Deployment 이름과 포트를 지정합니다.
kubectl expose deployment nginx-deployment --type=NodePort --port=80
이 명령은 외부 트래픽을 Nginx Pod의 80번 포트로 라우팅하는 Service를 만듭니다.
로컬에서 앱에 액세스하기
이제 Nginx Deployment가 Service를 통해 외부에 공개되었으므로 Minikube를 사용하여 액세스할 수 있습니다.
다음 명령을 실행하면 Minikube가 Nginx 웹 서버를 표시하는 브라우저 창을 엽니다!
minikube service nginx-deployment
"Welcome to nginx!" 페이지가 표시될 것입니다.
클러스터 정리하기
더 이상 필요하지 않은 리소스를 정리하는 것은 좋은 습관입니다. 이렇게 하면 Minikube 클러스터의 리소스를 확보할 수 있습니다.
- Service를 삭제하려면:
kubectl delete service nginx-deployment - Deployment를 삭제하려면(해당 Pod도 함께 삭제됨):
kubectl delete deployment nginx-deployment
항상 Service를 먼저 삭제한 다음 Deployment를 삭제합니다.
간단한 확인
애플리케이션을 성공적으로 배포하고 외부에 공개했습니다! busybox 이미지를 사용하여 my-app이라는 앱을 먼저 배포한 다음, 8080번 포트에서 NodePort Service로 외부에 공개하려면 어떤 순서로 kubectl 명령을 사용해야 할까요?
복습: 앱이 실행 중입니다!
축하합니다! Minikube를 사용하여 Kubernetes에서 첫 번째 애플리케이션을 성공적으로 배포하고 외부에 공개한 뒤 액세스했습니다.
kubectl create deployment를 사용하여 컨테이너를 실행했습니다.kubectl expose deployment를 사용하여 Service를 통해 액세스할 수 있게 했습니다.minikube service로 앱에 액세스하고kubectl delete로 정리했습니다.
이제 Kubernetes를 능숙하게 다루는 데 한 걸음 더 가까워졌습니다!
자주 묻는 질문
“간단한 앱 배포” 강의는 무료인가요?
네 — “간단한 앱 배포” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.
“간단한 앱 배포”에서 뭘 배우나요?
kubectl을 사용하여 Minikube 클러스터에 기본 컨테이너화 애플리케이션을 배포하세요. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“간단한 앱 배포” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.