Cluster Architecture 개요 목적 : 자동화된 방식으로 app 을 컨테이너 형태로 호스팅 → Why ? 응용 프로그램의 많은 인스턴스를 쉽게 배포하고, 응용프로그램 내 다양한 서비스 간의 통신이 가능 쿠버네티스 클러스트는 노드의 집합이다. 노드는 on-premise 또는 클라우드, 컨테이너 일 수 있다. 노드의 종류에는 워커노드와 마스터 노드가 있다. 관계 마스터 노드는 클러스터의 전반적인 관리와 조정을 담당하며, 워커 노드는 실제 컨테이너를 실행하는 역할 마스터 노드의 컴포넌트들은 워커 노드에 있는 애플리케이션의 배포, 관리 및 스케줄링을 조정 kubelet은 워커 노드에서 실행되며, kube-apiserver를 통해 마스터 노드와 통신 kube-apiserver는 kubelet의 요청을..
예전에 Terraform 글을 쓰면서 vagrant와 terraform을 가볍게 비교하고 넘어간 적이 있다. Vagrant 와 같은 도구는 데모용 가상화 환경을 구축하기 위해 존재 하지만 프로덕션 환경과 더 밀접하게 일치하는 실제 인프라에서 소프트웨어를 데모하는 것은 여전히 매우 어렵다는게 요지였는데, 이는 Vagrant가 소수의 버추얼머신을 사용하는 개발 환경을 위해 개발된 것이고, Terraform은 실제 인프라를 관리하기 위해 설계/개발된 것이기 때문이다. [DevOps/02]Terraform Use cases 테라폼을 사용하는 이유 테라폼을 사용하는 이유 1. Heroku App Setup - codify the setup required for a Heroku application, ensu..
뉴스를 돌아다니다가 Redis가 나와서 머리를 싸맸다. '분명 어디선가 들어본 적 있는 것 같은데...'하고 고민하다가 깨달았다. 가장 최근으로는 두 달 쯤 전에 2021년 4월 DBMS 인기 순위라는 글을 작성하면서도 봤고, 학부 데이터베이스 강의를 들을 때 인메모리 데이터베이스로 몇 번 언급 됐다. Redis(레디스)는 Remote Dictionary Server의 약자로, "키-값" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)이다. 4월에도 Key-Value Database 중에서 1위였는데, 이번 달도 마찬가지로 1위다. 레디스를 언제 사용하면 좋은지는 이 브런치 글에 잘 정리되어 있다. 레디스(Redis)는 언제 어떻게 사용하는 게..
도커는 운영체제 수준 가상 소프트웨어를 활용하여 사용자가 모든 라이브러리 종속성이있는 도커 컨테이너에서 애플리케이션을 개발, 배포, 관리 및 실행할 수 있도록 지원하는 플랫폼이다. 도커 컨테이너는 애플리케이션을 실행하는 데 필요한 모든 종속성 (프레임 워크, 라이브러리 등)을 포함하는 독립 실행형 패키지다. 결국 프로세스를 분리해 독립적으로 실행될 수 있도록 하는 독립성이 도커의 본래 목적이다. 도커에서 네트워크는 도커 컨테이너에게 완전한 격리를 제공하기위해 사용된다. 도커 네트워킹의 장점은 아래와 같다. 1. They share a single operating system and maintain containers in an isolated environment. - 단일 운영 체제를 공유하고 격리된..
0. 데이터 관리 도커 튜토리얼(링크)에서는 간단한 ToDo 애플리케이션*의 빌드, 업데이트, 공유를 직접 해보며 도커의 컨셉을 이해한다. 튜토리얼 Part 2-4를 수행하면서 작성한 ToDo 애플리케이션을 실행할 때마다 초기화된다. 튜토리얼 Part 5인 Persisting the DB(링크)에서는 데이터를 영구적으로 저장하는 두 가지 방법(Bind Mount, Volume)을 소개한다. 이미지는 여러 개의 레이어로 이루어져 있다. 기본적으로 이미지로 컨테이너를 실행해 파일을 생성하거나 삭제하면 새로운 레이어를 만들어 내용을 저장한다. 이 내용은 컨테이너와 함께 삭제된다(⭐컨테이너의 휘발성). 컨테이너가 삭제된다고 내부의 중요한 데이터까지 삭제되면 안 되므로 사용하는 두 가지의 대표적인 방법이 Bind..
도커 사용하기 Usage: docker [OPTIONS] COMMAND 도커는 서버를 코드 형태로 정의해서 이미지를 만들고, 이미지를 사용해서 컨테이너를 실행한다. 따라서 일관성 유지와 버전 관리가 편하다. (1) 도커 이미지 🐋 도커 이미지 여러개의 레이어로 구성됨 각 레이어는 Read Only 이미지로 컨테이너를 실행해서 파일을 생성하고 삭제할 때 새로운 레이어를 만들어 내용 저장 → 컨테이너와 함께 삭제되는 런타임 데이터임 → 영구적으로 저장하려면 볼륨(Bind Mount, Volume)을 사용해야 함 디스크에 저장된 상태 프로그램을 실행하는데 필요한 설정과 소프트웨어 종속성(프로그래밍 언어 런타임 및 기타 소프트웨어 라이브러리의 특정 버전 등)을 가지고 있다. 🐋 관련 명령어 (2) 도커 컨테이너..