[정리] 기능별 개념 정리(105)
-
쿠버네티스 입문 - 02 - 컨트롤러 3 - 데몬셋
데몬셋 클러스터 전체 노드에 어떤 파드를 반드시 하나씩 설치해야하는 경우에 사용하는 컨트롤러. 클러스터에 새로운 노드가 설치되면 데몬셋이 동작하여 자동으로 해당 노드에 파드를 실행시켜준다. 클러스터에서 노드가 제거 될 경우 해당 노드에서 실행중이던 데몬셋 파드는 다른 노드로 이동하지 않고 그대로 사라진다. 주로 로그 수집기를 실행하거나 노드를 모니터링 해야하는 데몬이 필요한 경우에 사용된다. 데몬셋 Sample apiVersion: apps/v1 kind: DaemonSet metadata: name: fluentd-elasticsearch namespace: kube-system labels: k8s-app: fluentd-logging spec: selector: matchLabels: name: f..
2020.04.04 -
쿠버네티스 입문 - 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 -
Garbage collection 요약
Stop the world : GC를 수행하는 동안 모든 thread 가 멈춘다. Reachability : 루트 객체 목록에서 특정 객체까지 도달할 수 있는가. Mark and sweep : 도달 가능한 객체에 마킹을 하고 아닌 객체는 지운다. 메모리 해지를 제대로 해주지 않았을 때 Garbage collection 의 동작 https://www.youtube.com/watch?v=r_JAjpy42ug 메모리를 해지를 제대로 해줄 때 Garbase collection 의 동작 https://www.youtube.com/watch?v=kKBRy6wlz2c
2020.03.17