본문 바로가기

backend5

[Docker] 공식문서 도전기 #5 Kubernetes deploy 여기입니다. 이제 컨테이너에서 앱을 돌아가게끔 만들었으니, 쿠버네티스를 이용해 컨테이너를 다루어보자. 쿠버네티스는 컨테이너화된 어플리케이션을 scaling 하고 네트워킹하고 뭐 여러가지 컨테이너 이상의 기능을 해주는 무언가다. Using Kubernetes YAML 모든 쿠버네티스의 컨테이너는 리소스를 공유하는 pods로서 스케줄링 된다. 그렇다고 우리가 pods를 독립적으로 구성할건 아니고, 대부분 pods를 독립적으로 구성하는 deployment 들로 작업이 이루어질 것이다. 모든 쿠버네틱스 오브젝트는 Kubernetes YAML 파일에 명시가 되어있다. 이 yaml 파일은 쿠버네틱스의 컴포넌트와 configuration을 지정하고, 쿠버네틱스 앱을 만들거나 없애는 작업을 해준다. 예시를 보자. --.. 2019. 11. 5.
[Docker] 공식문서 도전기 #4 Containerize 이 과정에서는 단계가 3단계로 이루어져있다. 1. 도커 이미지를 통해 컨테이너를 만들고 작동시켜보자. 2. 컨테이너들을 한데 모아 쿠버네티스 yaml 파일로 조립해보자. 3. 컨테이너화한 어플리케이션을 테스트, 공유, 디플로이 해보자. 먼저 예시 프로젝트를 클론해보자. 클론된 폴더의 bulletin board app 이 우리가 컨테이너화 할 앱이다. package.json이 있는 위치에 Dockerfile이 있다. 안에는 이렇게 적혀있다. 도커파일로 컨테이너화를 할건데, 파일시스템을 어떻게 통합할건지, 어떤 이미지를 기반으로 작동시킬건지 등을 입력해준다. 위에서부터 해석해보자. FROM node:6.11.5 - nodejs 6.11.5 -> nodejs 이미지를 사용하겠다. WORKDIR /usr/src.. 2019. 11. 4.
[Docker] 공식문서 도전기 #3 setup 여기서는 도커 환경설정을 해 볼 것이다. 컨테이너는 도커 daemon에서 실행되는 running process인 것이고, namespace를 통해 호스트와 다른 컨테이너들로부터 분리되어 있다. 컨테이너 분리의 가장 중요한 부분중 하나는 각각의 컨테이너가 도커 이미지로부터 제공된 독립적인 filesystem에 의존한다는 점이다. Kubernetes 설정 도커는 이미 #1에서 설치했기 때문에, Kubernetes 실행 설정만 해주자. Setting에 Kubernetes 들어가서 Enable Kubernetes 해주고 좀 기다리면 쿠버네티스 설정이 완료된 것을 확인할 수 있다. 좌하단에 Kubernetes is running 을 확인할 수 있다. 제대로 작동하는지 확인하기 위해서 pod.yaml 파일에 아래와.. 2019. 11. 4.
[Docker] 공식문서 도전기 #2 Overview 여기랑 여기 내용을 담습니다. 도커는 어플리케이션을 개발하고, 옮기고, 배포하는 플랫폼이다. 어플리케이션을 개발 인프라와 분리하기 때문에 배포가 매우 간단해진다. 컨테이너 내에서 개발하고, 또 컨테이너 단위로 배포 및 테스트를 거친다. 도커를 어디에 쓸까? : CI / CD 도구 도커는 로컬 컨테이너라는 정형화된 환경을 제공하기 때문에, 지속적인 통합/발전 시스템을 구축하기 매우 적합하다. 개발한 코드를 도커 컨테이너를 통해 공유할 수 있고, 어플리케이션을 테스트 할 수 있고, 테스트가 오류가 나면 개발환경에서 고친다음에 테스트 환경에 쉽게 통합할 수 있고, 테스트가 완료되면 업데이트된 이미지를 배포하기만 하면 된다. Docker architecture 도커의 구조를 설명하는 모식도이다. 백그라운드 프로.. 2019. 11. 4.