2020/04(34)
-
쿠버네티스 입문 - 02 - 컨트롤러 2 - 디플로이먼트
디플로이먼트 쿠버네티스에서 상태가 없는 앱을 배포할 때 사용하는 가장 기본적인 컨트롤러이다. 실행 시켜야할 파드 개수를 유지하는 것 뿐만 아니라 롤링 업데이트, 앱 배포 pause, resume, rollback 등의 동작을 할 수 있다. 디플로이먼트도 내부적으로는 Replica set 을 만들어서 구현된다. 디플로이먼트 Sample apiVersion: extensions/v1beta1 kind: Deployment metadata: name: myDeployment labels: app: myDeployment annotations: kubernetes.io/change-cause: version 1.10.1 spec: template: metadata: labels: app: myDeployment..
2020.04.04 -
쿠버네티스 입문 - 02 - 컨트롤러 1 - 레플리카셋
레플리카셋 클러스터 안에서 지정한 숫자 만큼 파드가 유지되도록 관리한다. 레플리케이션 컨트롤러를 대체하는 컨트롤러다. 레플리케이션 컨트롤러는 셀렉터가 등호기반(같거나 다르거나)이다. 레플리카 셋은 셀렉터가 집합기반(in, notin, exists 등이 추가)이다. 레플리카 셋은 파드를 선택하는 기준이 레이블 기준으로 관리하므로 레플리카셋과 파드는 느슨한 결합이되어있다. 즉 설정을 통해 레플리카 셋이 생성한 파드는 유지한 채 레플리카셋만 제거할 수도 있다. 또한 레플리카셋이 생성한 파드중 하나를 kubectl edit 하여 레이블을 레플리카셋의 selector 가 찾을 수 없게 바꾸면, 레플리카셋은 해당 파드를 유실했다 판단하고 갯수를 유지하기 위해 새로운 파드를 만든다. 레플리카셋 Sample apiVe..
2020.04.04 -
쿠버네티스 입문 정리 - 01 - Pod
파드 쿠버네티스의 최소 배포 단위 하나의 파드에 여러 개의 컨테이너가 구성될 수 있다. 하나의 컨테이너에는 하나의 프로세스, 하나의 역할만 있는 것이 관리 효율적으로 좋다. Pod sample apiVersion: v1 kind: Pod metadata: name: myapp-pod labels: app: myapp spec: containers: - name: myapp-container image: busybox command: ['sh', '-c', 'echo 안녕하세요 쿠버네티스! && sleep 3600'] .metadata.name 파드의 이름 설정 .metadata.labels.app : 오브젝트를 식별하는 레이블 .spec.contaners[].name : 컨테이너 이름 .spec.cont..
2020.04.03 -
쿠버네티스 입문 정리 - 00 - 아키텍쳐
다음 책을 읽고 정리합니다. : http://www.yes24.com/Product/Goods/85578606 샘플 코드는 해당 깃허브 레포를 참고합니다. : https://github.com/arisu1000/kubernetes-book-sample 쿠버네티스 입문 현업의 운영 경험을 바탕으로 엄선한 쿠버네티스 입문 A~Z현재 다양한 인프라 구축의 핵심 기술은 컨테이너이다. 운영체제, 데이터베이스, 웹 서버 등 인프라 구축에 필요한 컨테이너 이미지 각각을 조합해 인프라 환경을 손쉽게 설정할 수 있다. 그런데 이러한 컨테이너 각각을 사용자가 수동으로 관리하려면 적지 않은 수고를 들여야 한다.쿠... www.yes24.com 리눅스의 격리 환경 cgroup : 프로세스 별로 자원을 격리할 수 있다. chr..
2020.04.03