본문 바로가기

전체 글

(70)
통합 및 배포 자동화 통합 및 배포 자동화 컨테이너 인프라 환경에서 쿠버네티스를 사용하는 이유는 컨테이너 애플리케이션을 유연하고 빠르게 배포하고 운영하기 위해서이다. 그렇다면 컨테이너로 구동하는 애플리케이션을 어떻게 배포하는 것이 가장 좋을까? 현재까지 진행한 과정은 다음과 같다. 깃허브 등의 저장소에 저장해 둔 애플리케이션 소스 코드를 내려받아 도커 컨테이너 이미지로 빌드한다. 빌드한 컨테이너 이미지를 쿠버네티스에서 사용할 수 있도록 레지스트리에 등록한다. 레지스트리에 등록된 이미지를 기반으로 쿠버네티스 오브젝트를 생성한다. 생성한 오브젝트(파드/디플로이먼트)를 외부에서 접속할 수 있도록 서비스 형태로 노출한다. docker build > docker push > kubectl create > kubectl expose 이..
쿠버네티스에서 도커 이미지 구동하기 쿠버네티스에서 직접 만든 컨테이너 사용하기 지금까지 도커를 이용해 컨테이너를 다루고 새로운 컨테이너 이미지를 빌드해보았다. 컨테이너 이미지 빌드방법을 다양하게 알아본 이유는 직접 만든 컨테이너 이미지를 쿠버네티스에서 사용하는것이다. 쿠버네티스에서 이미지를 사용하려면 쿠버네티스가 이미지를 불러올 수 있는 공간에 이미지를 넣어두어야 한다. # 쿠버네티스에서 도커 이미지 구동하기 쿠버네티스는 컨테이너를 효과적으로 다루기 위해서 만들어졌고 컨테이너인 파드도 쉽게 부를 수 있다. 따라서 직접 만든 컨테이너 이미지도 kubectl 명령으로 쿠버네티스 클러스터에서 바로 구동할 수 있다. 도커를 빌드해서 만든 multistage-img 이미지를 쿠버네티스에서 구동해보자. 1. 이미지 확인 $ docker images ..
도커 컨테이너 이미지 만들기 4 - 멀티 스테이지 빌드 # 최적화해 컨테이너 빌드하기(멀티 스테이지 빌드) 지금까지의 빌드 방법은 이미지 용량이 커지거나 빌드과정이 번거로운 등의 단점이 있었다. 멀티 스테이지 빌드(Multi-Stage Build) 방법은 최종 이미지의 용량을 줄일 수 있고 호스트에 어떠한 빌드 도구도 설치할 필요가 없다. 도커파일 작성 > 도커파일 빌드 > 빌드완료 멀티 스테이지는 docker-ce 17.06 버전부터 지원된다. 1. 파일 살펴보기 2. Dockerfile 확인 # 1단계: 자바 소스를 빌드해 JAR로 만듦 FROM openjdk:8 AS int-build # openjdk 이미지에 int-build라는 별칭을 붙임 LABEL description="Java Application builder" RUN git clone WO..