1. 쿠버네티스 소개
1. 도커 사용하기 1) 도커 설치와 "Hello world" 컨테이너 실행하기 busybox:latest 이미지가 로컬 컴퓨터에 없었으므로 도커 허브 레지스트리에서 이미지 다운받은 뒤 컨테이너를 생성했고, 컨테이너 내부에서 echo 명령어를 수행했다. 2) 쿠버네티스에 배포할 간단한 Node.js 애플리케이션 실행하기 ![](https://images...
1. Pod 소개 일반적으로 파드는 하나의 컨테이너를 포함한다. 중요한 점은, 여러 컨테이너를 가진 파드는 항상 하나의 worker node에서 실행된다는 점이다. 1) 파드가 필요한 이유 왜 컨테이너를 직접 사용할 수 없는가? 왜 여러 컨테이너를 같이 실행해야 하
파드를 직접 생성할 일은 거의 없다. ReplicationController나 Deployment와 같은 유형의 리소스를 생성해 실제 파드를 생성 및 관리한다. 1. 파드를 안정적으로 유지하기 컨테이너의 주 프로세스에서 crash가 발생하면 kubelet이 컨테이너를
대다수의 애플리케이션은 외부 요청에 응답하기 위한 것이다. 마이크로서비스의 경우 파드는 대게 클러스터 내부의 다른 파드나 클러스터 외부의 클라이언트에서 오는 HTTP 요청에 응답한다. 파드에 직접 접근하는 것은 불가능하다. 왜냐하면 1) 파드는 일시적이고, 2) 파드가 시작되기 직전에 IP가 할당되므로 IP를 미리 알 수 없고, 3) 여러 파드가 단일 IP...
파일 시스템은 컨테이너 이미지에서 제공되기 때문에 컨테이너마다 고유하게 분리된 파일 시스템을 가진다. 지속되는 파일 시스템, 공유되는 파일 시스템을 위해 볼륨이 존재한다. 1. Volume 소개 Volume은 Pod의 구성 요소로 컨테이너와 동일하게 파드 스펙에서 정의된다. Volume은 독립적인 K8s Object가 아니므로 자체적으로 생성, 삭제될 수...
거의 모든 애플리케이션은 빌드된 애플리케이션 자체에 포함되지 말아야 하는 설정(배포된 인스턴스별로 다른 세팅, 외부 시스템 액세스를 위한 자격증명 등)이 필요하다. K8s에서 이런 설정 옵션을 어떻게 전달하는지 알아보자. 1. 컨테이너화된 애플리케이션 설정 ConfigMap을 사용해 설정 데이터를 저장할지 여부에 관계없이 다음 방법을 통해 애플리케이션을 ...
1. 파드에서 실행 중인 애플리케이션 업데이트 1) 오래된 파드를 삭제하고 새 파드로 교체 ReplicationController에서 파드 템플릿을 교체한 다음 진행할 수 있다. 2) 새 파드 기동과 이전 파드 삭제 잠시 동안 두 배의 파드를 실행하는 방법도 있다. 아니면 롤링 업데이트를 할 수도 있다. 하지만 이걸 수동으로 하면 어렵고 오류가 발생하기...