목록전체 글 (91)
Study Memory Work

ConfigMap 컨테이너 구성 정보를 한 곳에 모아서 관리할 수 있도록 kubernetes에서 지원. key, value 타입으로 이루어진 ConfigMap에 컨테이너 구성 정보를 저장한다. 기존에는 컨테이너 내에 컨테이너의 conf 파일이 존재했다면, ConfigMap에 있는 정보를 컨테이너에 mount시켜주는 형태. ConfigMap 수정 후, pod만 restart해주면 적용이 가능해서 많은 pod를 관리하는데에 용이하다. # Configmap 생성하기 $ kubectl create configmap {configmapNAME} [--from-file=source] [--from-literal=key1=value1] # --from-file : file 자체를 데이터로 가져오기 # --from-l..

pod scheduling 특정 pod를 특정 node에서 실행시키고자 할 때 사용한다. node label 과 node select를 통해서 운영된다. node에 node lable을 설정해두고, deyployment를 이용하여 pod를 생성할 때 nodeSelector에 node label과 같은 value값을 설정해 놓으면, 해당 pod는 해당 lable이 설정되어있는 node에서만 실행된다. node lable 관련 명령어 # node의 label 정보 보기 $ kubectl get nodes --show-labels # node에 label 추가하기 $ kubectl labal {node Name} gpu=true # label기준으로 node 조회하기 $ kubel get node -L gp..
Node Taint & Pod Toleration taint : 어플리케이션 pod를 실행시키게 되면 node의 taint와 매칭이되는 pod toleration이 없는 pod는 taint 되어있는 node에 배치될 수 없다. node의 tain와 동일한 value를 torleration의 value로 가진 pod는 해당 노드에도 scheduling 될 수 있다. node taint, pod toleration worker node에 tain가 설정된 경우 동일 값의 toleration이 있는 Pod만 배치된다. toleration이 있는 Pod는 동일한 taint가 있는 node를 포함하여 모든 node에 배치된다. effect 필드 종류 : NoSchedule : toleration이 맞지 않으면 배..

노드관리 pod가 실행되는 노드인 worker node를 대상으로 특정 worker노드에 scheduling을 허용하거나 금지하고싶을 때, worker node내 pod들을 비워서 cluster member에서 제외하고 싶을 때 등등 Node 스케줄링 중단 및 허용 컨테이너를 포함한 Pod는 node에서 실행됨 node는 Control-plane에 의해 관리 특정node의스케줄링중단(cordon)및 허용(uncordon) kubectl cordon : 특정 worker node 에서 scheduling에 대해 disabled상태로 만들고 kubectl uncordon : abled상태로 만든다. Node 비우기(drain) 특정 node 에서 실행중인 pod 비우기(drain) 및 제거(delete) (..

Deployment 컨테이너 기반으로 애플리케이션을 동작시킬 때 가장 많이 사용하는 API (배포) Pod를 직접 실행하지 않고 Deployment를 이용하여 컨테이너를 실행하는가? ReplicaSet 컨트롤러를 통해 replica 수 보장 및 scaling in/out 가능 (Pod직접실행 시, watch해주는 controller가 없어서 오류가 나면 재실행되지 않음.) Rolling update 또는 Roll back 지원 동작과정 : deployment 명령을 내리면 Deployment 가 생성, ReplicaSet controller 생성 controller 가 pod 실행/보장 deployment yaml 파일 구조 apiVersion: apps/v1 kind: Deployment metadat..

Pod Static Pod multi-container Pod sidecat-container Pod Pod 어플리케이션 컨테이너를 실행할 때 Pod를 통해서 실행시킬 수 있다. Pod란 컨테이너를 표현하는 k8s API의 최소 단위 Pod에는 하나 또는 여러 개의 컨테이너가 포함될 수 있음 동작방식 : master 컴포넌트에 Pod 실행 명령을 내리면 Api 서버가 명령을 받아 인증 Scheduler가 어느 node에서 실행시킬 지 결정 한 후 해당 node에 명령을 전달하여 Pod를 동작시킨다. Pod 생성 방법 1. CLI 명령어로 Pod 생성하기 $ kubectl run {podName} --image=nginx:1.14 --port=80 # nginx:1.14버전의 컨테이너를 실행해라. $ ku..