본문 바로가기

IT Study

(20)
kubernetes controller kubernetes controller 쿠버네티스의 컨트롤러기능은 파드들을 다양한 목적(감시,안정적관리 등)에 따라 운영되게하는 기능이다. Auto healing , S/W update , Audo scaling , jog 제공하는 컨트롤러 기능은 다음과 같이 몇가지 가 있다. ●레플리케이션 컨트롤러(Replication controller) ●레플리카 셋(ReplicaSet) ●디플로이먼트(Deployment) ●데몬세트(Deamon Set) ●스테이트 풀 세트(StatefulSet) ●잡(Job) ●크론잡(CronJob) 각 컨트롤러별 설정방법과 특징은 차례로 포스팅예정~~
kubernetes Multi-Container Pod & 파드 디자인 패턴 kubernetes Multi-Container Pod & 파드 디자인 패턴. 멀티 컨테이너 파드(Multi-Container Pod)란 2개이상의 서로다른 APP컨테이너를 포함하고있는 Pod를 의미한다 하나의 pod안에는 하나의 app컨테이너를 동작시키게 되지만 필요에따라서 메인 app컨테이너에 보조적인 역할을 할수있는 컨테이너를 추가하여 운영하기도함 이미지 출처 : Matthew Palmer Multi-Container Pod Design Patterns - CKAD Course Multi-Container Pod Design Patterns in Kubernetes Multi-container pods are extremely useful for specific purposes in Kubernet..
kubernetes pod 환경변수 설정 kubernetes pod 환경변수 설정 Pod내의 컨테이너가 실행될때 필요로 하는 변수 컨테이너 제작시 미리 정의할수있음. Pod 실행시 미리 정의된 컨테이너 환경변수를 변경할수있음. apiVersion: v1 kind: Pod metadata: name: ngin-pod-env spec: containers: - image: nginx:1.14 name: ngin-pod-env ports: - containerPort: 80 env: - name: MYVAR value: "testvalue" ●env: 필드값 name: 사용할 환경변수의 이름을 설정 value: 문자열이나 숫자 형식의 값을 설정 valueFrom:값을 직접 할당하는 것이 아니라 어딘가 다른곳에서 참조하는 값을 설정 fieldRef:파..
kubernetes Pod resource setting 파드 자원관리 kubernetes Pod resource Setting 쿠버네티스에서 Pod 실행,배포시 worker node의 H/W상태를 체크.점검하여 가장 적합한 worker Node에 실행,관리시켜주는 컴포넌트는 master Node의 scheduler 이때 사용량이 많은 파드가 한 node 몰려서 동작시 효율성이 낮아진다. 이를 방지하는 몇가지 기능 중 Pod의 컨테이너 용도에 맞게 CPU,MEM 사용량을 관리해주는것을 kubernetes Pod resource setting 이라고 한다. ●Pod 리소스 단위 쿠버네티스 파드 리소스 표현단위 프로세서(CPU): M , 1 (core) 메모리(memory): Ki , Mi , Gi ●Pod 리소스 요청 및 제한 쿠버네티스 파드 리소스관리의 요청,제한은 두가지로..
kubernetes static pod & kubelet kubernetes static pod & kubelet kube-apiserver를 통하지 않고 kubelet 데몬이 직접 관리,생성한다. 정적인 파드만 실행가능하며 기타리소스는 사용할 수 없다. 보통 static pod는 api,etcd같은 시스템파드를 실행하는 용도로 많이사용 노드마다 존재하는 특정경로에 yaml을 배치하면 실행된다 ( /etc/kubernetes/manifests/ ) 기존 Pod의 실행방식은 kubectl -> master node의 API 요청 -> etcd -> scheduler -> 최적의 node에 실행 static pod는 기존 실행방식이 아닌 각 master node를 포함한 모든 노드는 kubelet 데몬이 동작하고 있는데 kubelet 이 관리하는 static po..
kubernetes infra container pause kubernetes infra container (pause) 쿠버네티스에서 파드가 실행될때 pause 라는 컨테이너가 항상 실행되는데 이를 infra container 라고 부름 pause 컨테이너의 역할은 파드에 대한 infra 즉 IP,host를 관리하고 생성해준다. 컨테이너가 삭제되면 pause도 함께 삭제된다.
kubernetes init container kubernetes init container 초기화컨테이너(init container)는 APP컨테이너가 실행되기전에 파드를 초기화 해준다 초기화컨테이너는 여러개를 구성할 수 있다. 초기화컨테이너의 실행이 실패하면 성공할 때까지 재시작된다. 즉 필요한 명령,제어,조건들을 순서대로 실행하는데 사용 초기화컨테이너가 성공해야 APP컨테이너 실행된다. 초기화컨테이너는 파드가 모두 준비되기전에 실행한 후 종료되는 컨테이너이기 때문에 Probe기능을 지원하지 않는다. 초기화컨테이너는 파드가 재시작 되었다면 반드시 다시 실행된다. APP컨테이너 즉 Main container를 실행하는데 있어 init container 기능을 활용하여 메인컨테이너가 요구하는 환경,조건이 제데로 구성되어있는지 점검하고 완료되면 메인컨..
kubernetes Probe? self-healing kubernetes Probe self-healing 쿠버네티스 Probe self-healing 이란 kubelet에 의해 컨테이너를 주기적으로 체크해서 컨테이너를 재시작하거나 문제가있는 파드(컨테이너)를 중지 시키는 진단기능 이다 쿠버네티스는 총3가지의 probe를 제공한다. ●livenessprobe 매커니즘 쿠버네티스에서 제공하는 self-healing 기능 중 하나 컨테이너 마다 지정할수있음. 컨테이너가 동작할수있는지 확인하고 동작하지 않거나 문제가 발생할경우 정책에따라 재시작한다 livenessprobe를 컨테이너에 지정하지않으면 기본값은 success 즉 진단에성공했다고 판단함. 컨테이너(APP)의 용도,목적에 따라 livenessprobe 3가지의 매커니즘으로 관리할수있다. ● httpGe..