0Pricing
DevOps Bootcamp · 강의

간단한 앱 배포

kubectl을 사용하여 Minikube 클러스터에 기본 컨테이너화 애플리케이션을 배포하세요.

간단한 앱 배포은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

Kubernetes에서 첫 번째 앱 실행하기

환영합니다! 이 레슨에서는 Minikube 클러스터에 첫 번째 애플리케이션을 배포하는 중요한 단계를 진행합니다.

kubectl이라는 강력한 명령줄 도구를 사용하여 코드를 실행 중인 서비스로 전환하는 앱의 전체 과정을 관리합니다.

간단한 앱 배포 — 일러스트레이션 1

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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Minikube 설치 및 설정
  2. Kubeconfig 및 컨텍스트
  3. 간단한 앱 배포
  4. 클러스터 점검과 문제 해결
← DevOps Bootcamp(으)로 돌아가기