無知

갈 길이 먼 공부 일기

컨테이너 7

쿠버네티스 (6) | 볼륨, 퍼시스턴트 스토리지

핵심 내용 다중 컨테이너 파드 생성 컨테이너 간 디스크 스토리지 공유용 볼륨 생성 파드 내부 깃 리포지터리 사용 파드 내 GCE 퍼시스턴트 디스크 등 퍼시스턴트 스토리지 연결 사전 프로비저닝된 퍼시스턴트 스토리지 퍼시스턴트 스토리지의 동적 프로비저닝 볼륨 소개 파드는 내부에 프로세스를 실행하고, 여러 리소스를 공유하는 논리적 호스트이지만, 디스크를 공유하지 못한다. 파드 내 각 컨테이너는 컨테이너 이미지에서 제공하는, 고유하게 분리된 파일시스템을 가진다. 새로운 컨테이너가 시작할 때 이미지 빌드 시 추가해둔 파일을 갖고 시작하기 때문에, 재시작시마다 파일시스템이 이미지대로 초기화된다. 즉, 이전에 종료된 컨테이너의 데이터를 가진 디렉터리를 보존하기 위해서는, 쿠버네티스 내에서 스토리지 볼륨을 정의해야 한..

쿠버네티스 (2) | 도커와 쿠버네티스 튜토리얼

앞으로의 스터디 내용은 을 기반으로 진행합니다. 자세한 내용은, 해당 책을 확인해주세요! http://www.yes24.com/Product/Goods/89607047 도커를 사용한 컨테이너 이미지 생성, 실행, 공유하기 도커 설치와 Hello World 컨테이너 실행하기 리눅스 머신에 도커 설치하기 도커 설치 + 가상머신 생성 가상 머신 내 도커 데몬 구동 호스트 OS에서 도커 클라이언트 실행 파일 사용 가상머신 내 도커 데몬과 도커 클라이언트 간 통신 Busybox 이미지로 Hello World 컨테이너 실행하기 busybox는 표준 UNIX 명령줄 도구를 합쳐놓은 단일 실행파일 터미널을 통한 실행 > 별도 설치 없이 전체 애플리케이션이 다운로드되어 실행됨. $ docker run busybox ec..

쿠버네티스 (1-5) | 쿠버네티스 소개

앞으로의 스터디 내용은 을 기반으로 진행합니다. 자세한 내용은, 해당 책을 확인해주세요! http://www.yes24.com/Product/Goods/89607047 서론 쿠버네티스 등장 배경 기존 소프트웨어 앱 트랜드 = 모놀리스, Monolith 모놀리스 (Monolith) 애플리케이션 : 여러 모듈이 상호작용하는 로직을 하나의 프로그램 내에서 구동시키는 방식 ⇒ 소규모 서비스엔 어울릴 수 있으나, 서비스가 거대해질수록 소프트웨어의 확장성 및 유연성이 줄어든다는 치명적인 단점이 있음 마이크로서비스 (Microservices) : 모놀리스 방식을 대체하기 위한 개념으로, 여러 모듈을 독립된 형태로 구성 ⇒ 언어에 종속되지 않고 변화에 빠르게 대응할 수 있으며, 각 모듈의 유지/보수(관리)가 쉬움 ht..

쿠버네티스 (1-4-2) | 개발자가 바라보는 도커의 필요성

도커라는 게, 기존의 퍼블릭 클라우드 이미지 기반 인스턴스 관리 기법의 연장선이기도 하다. 가장 중요한 것은 왜 쓰기 시작했는가! 의 문제라 볼 수 있다. 시니어 개발자님이 공유해주신, 도커의 사용 이유에 대해 정리해보았다. 도커는 왜 쓰기 시작했을까? 도커는 커스텀 환경을 빠르게 구축할 수 있다 - 도커 이미지 일단, 이미지의 경우, 결국은 개발 환경과 연관된다. 개발자 입장에서, 서버를 만들어서, 서버에서 개발하기도 한다. 예를 들어 자바 환경이라 하면, 서버나 클라이언트 환경을 꾸미고 나서, 환경 변수 설정 후 개발한다. 그런데 도커를 쓰고 나서는, 환경을 내부적으로 구성해서 독립적으로 환경을 빠르게 만들 수 있다. 우분투의 JVM 1.8을 빠르게 빌드해서 개발하고 싶을 때, 예전에는 서버를 띄우고..

쿠버네티스 (1-3) | 도커 이미지 멀티 스테이지 빌드 및 경량화

멀티 스테이지 빌드를 통한 도커 이미지 경량화 멀티 스테이지 빌드란? 대부분의 사람들은 한 프로젝트의 하나의 Dockerfile만 존재하는 것이 익숙했습니다. 여러 개의 Dockerfile은 유지보수의 편의성도 떨어뜨리고, 각각의 단계에 순서 의존성이 있는 만큼 관리도 복잡해졌죠. 예를 들어 바이너리 빌드가 끝나기 전에 실행 이미지를 만들 수는 없으니까요. 이후 많은 사람들이 불편함을 느끼자, 여러 단계의 이미지 빌드 과정을 하나의 Docerfile에서 관리하기 위해 멀티 스테이지 빌드가 등장했습니다. https://lynlab.co.kr/blog/89 Docker Multi Stage란? 컨테이너 이미지를 만들면서 빌드 등에는 필요하지만 최종 컨테이너 이미지에는 필요 없는 환경을 제거할 수 있도록 단계..

쿠버네티스 (1) | 도커의 기본 개념

본 글은 쿠버네티스 완벽 가이드의 설명을 따라가며 공부한 기록입니다. 보다 자세히 공부하고자 하는 분은 해당 책을 구매해서 따라가보세요! 쿠버네티스를 본격적으로 공부하기 이전에, 도커의 기본 개념을 훑어보며 쿠버네티스에 보다 더 잘 적응할 수 있도록 해보자. 도커, Docker 도커(Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다. 도커 웹 페이지의 기능을 인용하면 다음과 같다: 도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다. 여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 무엇이든 아우른다. 이는 실행 중인 환경에 관계 없이 언제나..