130 lines
6.0 KiB
HTML
130 lines
6.0 KiB
HTML
---
|
||
title: kubectl을 사용해서 디플로이먼트 생성하기
|
||
weight: 10
|
||
---
|
||
|
||
<!DOCTYPE html>
|
||
|
||
<html lang="ko">
|
||
|
||
<body>
|
||
|
||
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
|
||
|
||
<div class="layout" id="top">
|
||
|
||
<main class="content">
|
||
|
||
<div class="row">
|
||
|
||
<div class="col-md-8">
|
||
<h3>목표</h3>
|
||
<ul>
|
||
<li>애플리케이션 디플로이먼트(Deployment)에 대해 배운다.</li>
|
||
<li>kubectl로 첫 애플리케이션을 쿠버네티스에 배포한다.</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="col-md-8">
|
||
<h3>쿠버네티스 디플로이먼트</h3>
|
||
<p>
|
||
일단 쿠버네티스 클러스터를 구동시키면, 그 위에 컨테이너화된 애플리케이션을 배포할 수 있다.
|
||
그러기 위해서, 쿠버네티스 <b>디플로이먼트</b> 설정을 만들어야 한다. 디플로이먼트는 쿠버네티스가
|
||
애플리케이션의 인스턴스를 어떻게 생성하고 업데이트해야 하는지를 지시한다. 디플로이먼트가 만들어지면,
|
||
쿠버네티스 마스터가 해당 애플리케이션 인스턴스를 클러스터의 개별 노드에 스케줄한다.
|
||
</p>
|
||
|
||
<p>애플리케이션 인스턴스가 생성되면, 쿠버네티스 디플로이먼트 컨트롤러는 지속적으로 이들 인스턴스를
|
||
모니터링한다. 인스턴스를 구동 중인 노드가 다운되거나 삭제되면, 디플로이먼트 컨트롤러가 인스턴스를
|
||
교체시켜준다. <b>이렇게 머신의 장애나 정비에 대응할 수 있는 자동 복구(self-healing) 메커니즘을
|
||
제공한다.</b></p>
|
||
|
||
<p>오케스트레이션 기능이 없던 환경에서는, 설치 스크립트가 애플리케이션을 시작하는데 종종 사용되곤
|
||
했지만, 머신의 장애가 발생한 경우 복구를 해주지는 않았다. 쿠버네티스 디플로이먼트는 애플리케이션
|
||
인스턴스를 생성해주고 여러 노드에 걸쳐서 지속적으로 인스턴스가 구동되도록 하는 두 가지를 모두
|
||
하기 때문에 애플리케이션 관리를 위한 접근법에서 근본적인 차이를 가져다준다.</p>
|
||
|
||
</div>
|
||
|
||
<div class="col-md-4">
|
||
<div class="content__box content__box_lined">
|
||
<h3>요약:</h3>
|
||
<ul>
|
||
<li>디플로이먼트</li>
|
||
<li>Kubectl</li>
|
||
</ul>
|
||
</div>
|
||
<div class="content__box content__box_fill">
|
||
<p><i>
|
||
디플로이먼트는 애플리케이션 인스턴스를 생성하고 업데이트하는 역할을 담당한다.
|
||
</i></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<br>
|
||
|
||
<div class="row">
|
||
<div class="col-md-8">
|
||
<h2 style="color: #3771e3;">쿠버네티스에 첫 번째 애플리케이션 배포하기</h2>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="row">
|
||
<div class="col-md-8">
|
||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_02_first_app.svg"></p>
|
||
</div>
|
||
</div>
|
||
<br>
|
||
|
||
<div class="row">
|
||
<div class="col-md-8">
|
||
|
||
<p><b>Kubectl</b>이라는 쿠버네티스 CLI를 통해 디플로이먼트를 생성하고 관리할 수 있다.
|
||
Kubectl은 클러스터와 상호 작용하기 위해 쿠버네티스 API를 사용한다. 이 모듈에서는, 쿠버네티스
|
||
클러스터 상에 애플리케이션을 구동시키는 디플로이먼트를 생성하기 위해 필요한 가장 일반적인 Kubectl
|
||
명령어를 배우게 된다.</p>
|
||
|
||
<p>디플로이먼트를 생성할 때, 애플리케이션에 대한 컨테이너 이미지와 구동시키고자 하는 복제 수를 지정해야
|
||
한다. 디플로이먼트를 업데이트해서 이런 정보를 나중에 변경할 수 있다. 모듈
|
||
<a href="/docs/tutorials/kubernetes-basics/scale-intro/">5</a>와 <a
|
||
href="/docs/tutorials/kubernetes-basics/update-intro/">6</a>의 부트캠프에서 어떻게
|
||
스케일하고 업데이트하는지에 대해 다룬다.</p>
|
||
|
||
|
||
</div>
|
||
<div class="col-md-4">
|
||
<div class="content__box content__box_fill">
|
||
<p><i> 애플리케이션이 쿠버네티스 상에 배포되려면 지원되는 컨테이너 형식 중 하나로 패키지 되어야한다.
|
||
</i></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="row">
|
||
<div class="col-md-8">
|
||
|
||
<p>우리의 첫 번째 디플로이먼트로, Docker 컨테이너로 패키지된 <a href="https://nodejs.org">Node.js</a>
|
||
애플리케이션을 사용해보자. 소스 코드와 Dockerfile은 <a
|
||
href="https://github.com/kubernetes/website/tree/master/content/en/docs/tutorials">GitHub
|
||
저장소</a>에서 찾을 수 있다.</p>
|
||
|
||
<p>이제 디플로이먼트를 이해했으니, 온라인 튜토리얼을 통해 우리의 첫 번째 애플리케이션을 배포해보자!</p>
|
||
|
||
</div>
|
||
</div>
|
||
<br>
|
||
|
||
<div class="row">
|
||
<div class="col-md-12">
|
||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/deploy-interactive/"
|
||
role="button">대화형 튜토리얼 시작하기 <span class="btn__next">›</span></a>
|
||
</div>
|
||
</div>
|
||
|
||
</main>
|
||
|
||
</div>
|
||
|
||
</body>
|
||
</html>
|