01. 도커란 무엇인가 도커란? 컨테이너형 가상화 기술을 구현하기 위한 상주 애플리케이션과 이 애플리케이션을 조작하기 위한 CLI로 구성되는 프로덕트. 컨테이너를 기반으로 한 애플리케이션 배포에 특화된 기술이다. 호스트 운영체제형 가상화 vs 컨테이너형 가상화 호스트 운영체제형 가상화 운영체제 위에서 가상황 소프트웨어를 사용해 하드웨어를 에뮬레이션 하는 ...
01. 컨테이너로 애플리케이션 실행하기 도커 이미지 도커 컨테이너를 구성하는 파일 시스템과 실행할 애플리케이션 설정을 하나로 합친 것으로, 컨테이너를 생성하는 템플릿 역할을 한다. 도커 컨테이너 도커 이미지를 기반으로 생성되며, 파일 시스템과 애플리케이션이 구체화돼 실행되는 상태 Dockerfile 도커 이미지를 만드는 스크립트. docker (imag...
01. 애플리케이션과 시스템 내 단일 컨테이너의 적정 비중 여러 개의 컨테이너를 실행하고, 각 컨테이너가 서로 유기적으로 소통해야 하는 상황에서 컨테이너 1개의 비중은 어느정도로 설정해야 하는가? 컨테이너 1개 = 프로세스 1개? 컨테이너 1개에 꼭 1개의 프로세스만 넣을 필요는 없음. 기능의 단위를 적절히 설정하여 컨테이너 1개에 2개 이상의 프로세스를...
01. 웹 애플리케이션 구성 지금까지 배운 것을 토대로 웹 애플리케이션 제작 실습을 해본다. 애플리케이션 요구 조건 주제 : TODO 앱 TODO를 등록, 수정, 삭제할 수 있다. 등록된 TODO의 목록을 출력할 수 있다. 브라우저에서 사용할 수 있는 웹 애플리케이션이다. JSON API 엔드포인트를 제공한다. 아키텍처 image.png 구성 MySQ...
01. 쿠버네티스란 무엇인가 쿠버네티스란? 컨테이너 운영을 자동화하기 위한 컨테이너 오케스트레이션 도구. 클라우드 플랫폼의 쿠버네티스 지원 GCP는 GKE, Azure는 AKS, AWS는 EKS로 쿠버네티스를 매니지드 서비스의 형태로 제공한다. vs 도커 스웜 쿠버네티스는 컴포트/스택/스웜의 기능을 통합해 더 높은 수준의 관리 기능을 제공하는 도구 0...
03. GKE에 mysql 구축 퍼시스턴트볼륨과 퍼시스턴트볼륨클레임 퍼시스턴트 데이터를 다루는 컨테이너를 도커로 실행할 때는 데이터 볼륨을 이용했다. 표준 데이터 볼륨은 결국 호스트 머신에 위치하기 때문에, 이러한 방식은 컨테이너의 호스트에 대한 의존성을 강화하는 부작용을 낳는다. 쿠버네티스의 경우 호스트에서 분리할 수 있는 외부 스토리지를 볼륨으로 사용...
01. 쿠버네티스의 그 외 리소스 지금까지 살펴본 리소스 파드 레플리카세트 디플로이먼트 서비스 인그레스 스테이트풀세트 스토리지클래스 컨시스턴트볼륨 컨시스턴트볼륨클레임 지금까지 살펴본 리소스는 데몬으로 동장하는 서버 애플리케이션을 구축할 때 주로 사용되는 리소스들이다. 쿠버네티스는 데몬으로 동작하는 서버 애플리케이션 외에도 배치 서버 등 다양한 형태의 애플...
01. 로깅 운영 로깅 운영 도커와 같은 컨테이너 환경에서 로그 파일을 다루는 정석적인 방법은 컨테이너 내에서 애플리케이션이 발생시키는 표준출력들을 호스트에서 파일에다 수집하는 것이다. 보통 도커에서는 fluentd를 로그를 수집하는 로깅 드라이버로 많이 사용하고, 이는 elasticsearch와 함께 사용해 로그 수집 및 검색 기능을 구축할 수 있다. ...
01. 가벼운 도커 이미지가 왜 필요할까 이미지 크기 증가에 따라 나타나는 문제 크기가 큰 도커 이미지를 다루다 보면 다음 작업을 실행하는 데 걸리는 시간이 점점 길어지게 된다. 이미지 빌드 시간(기반 이미지 다운로드 시간 포함) 이미지를 도커 레지스트리에 등록하는 시간 컨테이너를 실행할 호스트 혹은 노드에서 이미지를 다운로드하는 시간 위와 같은 작업들...