SlideShare a Scribd company logo
1 of 24
Ch 3. Pods running
containers in Kubernetes
박홍민
Before ..
- 지난주에 뭐했더라 ? 기억이 안난다..
- Docker container 이미지 빌드, 컨테이너 실행(docker build -t
kubia, docker run --name kubia-conatiner -p 8080:8080 -d
kubia)
- Minikube (or kubernetes master), kubectl(k8s 클라이언트,
cli) 다운로드 및 실행
- 지난주에 실습하고 PC를 shutdown 했음 -> 다시켜야함
Before ..
- Minikube 는 방금 다시 켰고.. (minikube start)
- Kubectl 은 키거나 이미지를 재실행 한적이 없는데 지난주에
running, scaling 했던 pod 이 잡힘 -> minikube 가 run 하면서
명령내렸나 ?
-> kubectl 이란 것은 어떤것? 데몬? 프로세스? -> 그냥 CLI. master
node 와 REST API 통신함.
무엇을 배우나
● Creating, running, and stopping pods
● Organizing pods and other resources with labels
● Performing an operation on all pods with a specific label
● Using namespaces to split pods into non-overlapping groups
● Scheduling pods onto specific types of worker nodes
Pod 은 왜 필요한가?
- 1 container 1 process 권고. 왜? 한 container 에서 나오는 로그
처리 분리하기 힘듬.
- 1 container 1 process 권고이기 때문에 container 끼리 그룹할
필요가 있음. -> pod 생김.
- 동일 pod 내의 container -> hostname, network interfaces,
IPC namespace 등 공유
- Filesystem 은 kubernetes Volume
Pod 은 왜 필요한가?
- K8s 에서 pods 들은 flat 함. NAT 없음. LAN 처럼 Flat network
- -> This is usually achieved through an additional software-defined network layered on top of the
actual network.
- 두 pod 에서 네트워크 패킷 던지면 source ip 가 서로의 actual ip
로 그대로 나옴.
Pod 이라는 개념을 상황으로 이해하자
- Multi-tier app -> pod들을 여러개로 분리.
- Pod 하나에 있는 컨테이너들 -> pod 이 죽으면 같이 죽는다.
- Pod 은 scaling 의 한 단위 -> 만약 WEB-WAS-DB 가 1 pod 에 있으
면, WEB 늘리고싶은데 DB 도 늘리는 꼴
- 그렇다면.. Pod 에는 어떤 container들을 하나로 묶어야 ?
-> 저럴 때라고 하는데 크게 와닿진 않는다.
-> 그냥 1 container 1 pod 으로 분리하면 되는듯 ?
운영 중에 아닌 경우 ?
Pod 이라는 개념을 상황으로 이해하자
잠깐.. 내가 k8s node를 생성한 적이 있었나 ?
마스터는 minikube를 설치하면서 됬을 것 같은데 …
Minikube 를 설치했더니 뭐가 마스터고 뭐가 worker node 인지 분간이
잘 안간다.
그렇지만 일단 나중에 보기로하고..
잠깐..
내가 k8s node를 생성한 적이 있었나 ?
마스터는 minikube를 설치하면서 됬을 것 같은데 …
Minikube 를 설치했더니 뭐가 마스터고 뭐가 worker node 인지 분간이
잘 안간다.
Kubectl가 설치되있으면 worker node 인가 ?
그렇지만 일단 나중에 보기로하고..
Pod 의 정의
- YAML(metadata+spec+status) or json 으로 존재
잠깐..
- pod 을 host OS 에서 process 로 잡을 수 있나 ?
- 의문의 명령어 날린 흔적들
잠깐..
- 아하 minikube 는 VM 이었다
- PPT 9페이지의 의문이 풀리는 순간
잠깐..
- 아까 쳤던 명령어를 다시쳐보니.. -> k8s master/worker node 요소
가 1.
2.
1’.
2’.
3’.
4’.
잠깐..
- 아까 쳤던 명령어를 다시쳐보니.. -> docker 컨테이너도 뭐가 많다
(돌아와서) Pod 의 log
$ docker logs <container id> (pod 이 떠있는 서버. 즉, minikube
ssh를 한 minikube VM 에서)
->
$ kubectl logs kubia-manual -c kubia (local 에서. 즉, minikube
를 깐 로컬 서버에서)
Kubia server starting…
(.. 점점 내가 어느 서버에 있는지 헷갈려진다..)
Pod 관리 - label, annotation
- Label, selectors : pod 구분, 필터 같은 느낌
- Label 은 꼭 pod 에만 쓸 수 있는 건 아님.
- Label, selector 로 특정 node에 pod을 디플로이할 수 있음.
- Annotation은 긴설명, label 은 짧은설명
Pod 관리 - Namespace
- K8s Resources 분리 가능
- Namespace 에 따른 자원(CPU,memory …)/유저 한정
- 같은 pod 을 다른 namespace 로 띄울 수 있음
Q. 언제 label, 언제 namespace 쓰나? 크게 와닿지 않음.
Q. Kubernetes resource vs object
A representation of a specific group+version+kind is an object.
A specific URL used to obtain the object is a resource.
(...)
Pod 관리 - remove pod
- 분명 지웠는데, 2분전에 다시 생김. 왜?
- Kubectl run 으로 실행한 pod -> RelicationController 때문
.(Ch.9에 나온다고 함)
Ch 4. Replication and other
controllers: deploying
managed pods
박홍민
무엇을 배우나
● Keeping pods healthy
● Running multiple instances of the same pod
● Automatically rescheduling pods after a node fails
● Scaling pods horizontally
● Running system-level pods on each cluster node
● Running batch jobs
● Scheduling jobs to run periodically or once in the future
Keeping pods healthy - liveness probes
[Liveness probes]
- HTTP GET probe
- TCP Socket probe
- Exec probe
실패 -> Container restart
* /health 같은 url path 로 모든 로직 점검하도록
* 그 컨테이너 자체의 이상만 점검하도록. 예) Frontend WEB ->
backend DB/WAS 와 연결이 안되는 것은 liveness probe에 넣으면 안됨
. (주 원인이 해당 container 가 아니므로.)
Replication Controllers
Replication Controllers
- Pod 이 항상 떠있을 수 있도록
Q.rc라는게, node마다 있는 것?
어떤 서버에, 어떤 형태로 존재?
-> 마스터노드
Rest ..
- ReplicaSet vs ReplicaController -> ReplicaSet 쓴다.
- DaemonSet
- Job

More Related Content

What's hot

Using R with MongoDB(R User Conference Korea 2015, SK C&C 김인범)
Using R with MongoDB(R User Conference Korea 2015, SK C&C 김인범) Using R with MongoDB(R User Conference Korea 2015, SK C&C 김인범)
Using R with MongoDB(R User Conference Korea 2015, SK C&C 김인범) InBum Kim
 
Mongodb2.2와 2.4의 신 기능 소개
Mongodb2.2와 2.4의 신 기능 소개Mongodb2.2와 2.4의 신 기능 소개
Mongodb2.2와 2.4의 신 기능 소개흥배 최
 
NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기Hoyoung Choi
 
Mongo db 2.x to 3.x
Mongo db 2.x to 3.xMongo db 2.x to 3.x
Mongo db 2.x to 3.xInBum Kim
 
Mongodb 특징 분석
Mongodb 특징 분석Mongodb 특징 분석
Mongodb 특징 분석Daeyong Shin
 
Nodejs 기본 아키텍쳐
Nodejs 기본 아키텍쳐Nodejs 기본 아키텍쳐
Nodejs 기본 아키텍쳐Se Joung Kim
 
MongoDB in use(김인범, mongodb korea)
MongoDB in use(김인범, mongodb korea)MongoDB in use(김인범, mongodb korea)
MongoDB in use(김인범, mongodb korea)InBum Kim
 
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)Heungsub Lee
 
Direct x 11 입문
Direct x 11 입문Direct x 11 입문
Direct x 11 입문Jin Woo Lee
 
Mongodb 개발 포인트
Mongodb 개발 포인트Mongodb 개발 포인트
Mongodb 개발 포인트흥배 최
 
중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직Hoyoung Choi
 
Mongo db 시작하기
Mongo db 시작하기Mongo db 시작하기
Mongo db 시작하기OnGameServer
 
14 virtual memory
14 virtual memory14 virtual memory
14 virtual memorycodevania
 
Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이 왜 이리 힘드나요? (Lock-free에서 Transactional Memory까지)
Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이  왜 이리 힘드나요?  (Lock-free에서 Transactional Memory까지)Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이  왜 이리 힘드나요?  (Lock-free에서 Transactional Memory까지)
Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이 왜 이리 힘드나요? (Lock-free에서 Transactional Memory까지)내훈 정
 
Apache ZooKeeper 소개
Apache ZooKeeper 소개Apache ZooKeeper 소개
Apache ZooKeeper 소개중선 곽
 
데이터야 안전하게 놀아보자.V.1
데이터야 안전하게 놀아보자.V.1데이터야 안전하게 놀아보자.V.1
데이터야 안전하게 놀아보자.V.1Dongchan Sung
 
Let's Play with Data Safely
Let's Play with Data SafelyLet's Play with Data Safely
Let's Play with Data SafelyDataya Nolja
 
MongoDB 모바일 게임 개발에 사용
MongoDB 모바일 게임 개발에 사용MongoDB 모바일 게임 개발에 사용
MongoDB 모바일 게임 개발에 사용흥배 최
 
Zoo keeper 소개
Zoo keeper 소개Zoo keeper 소개
Zoo keeper 소개주표 홍
 
A review of zookeeper 2010.12
A review of zookeeper 2010.12A review of zookeeper 2010.12
A review of zookeeper 2010.12HoJin Ha
 

What's hot (20)

Using R with MongoDB(R User Conference Korea 2015, SK C&C 김인범)
Using R with MongoDB(R User Conference Korea 2015, SK C&C 김인범) Using R with MongoDB(R User Conference Korea 2015, SK C&C 김인범)
Using R with MongoDB(R User Conference Korea 2015, SK C&C 김인범)
 
Mongodb2.2와 2.4의 신 기능 소개
Mongodb2.2와 2.4의 신 기능 소개Mongodb2.2와 2.4의 신 기능 소개
Mongodb2.2와 2.4의 신 기능 소개
 
NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기
 
Mongo db 2.x to 3.x
Mongo db 2.x to 3.xMongo db 2.x to 3.x
Mongo db 2.x to 3.x
 
Mongodb 특징 분석
Mongodb 특징 분석Mongodb 특징 분석
Mongodb 특징 분석
 
Nodejs 기본 아키텍쳐
Nodejs 기본 아키텍쳐Nodejs 기본 아키텍쳐
Nodejs 기본 아키텍쳐
 
MongoDB in use(김인범, mongodb korea)
MongoDB in use(김인범, mongodb korea)MongoDB in use(김인범, mongodb korea)
MongoDB in use(김인범, mongodb korea)
 
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
 
Direct x 11 입문
Direct x 11 입문Direct x 11 입문
Direct x 11 입문
 
Mongodb 개발 포인트
Mongodb 개발 포인트Mongodb 개발 포인트
Mongodb 개발 포인트
 
중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직
 
Mongo db 시작하기
Mongo db 시작하기Mongo db 시작하기
Mongo db 시작하기
 
14 virtual memory
14 virtual memory14 virtual memory
14 virtual memory
 
Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이 왜 이리 힘드나요? (Lock-free에서 Transactional Memory까지)
Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이  왜 이리 힘드나요?  (Lock-free에서 Transactional Memory까지)Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이  왜 이리 힘드나요?  (Lock-free에서 Transactional Memory까지)
Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이 왜 이리 힘드나요? (Lock-free에서 Transactional Memory까지)
 
Apache ZooKeeper 소개
Apache ZooKeeper 소개Apache ZooKeeper 소개
Apache ZooKeeper 소개
 
데이터야 안전하게 놀아보자.V.1
데이터야 안전하게 놀아보자.V.1데이터야 안전하게 놀아보자.V.1
데이터야 안전하게 놀아보자.V.1
 
Let's Play with Data Safely
Let's Play with Data SafelyLet's Play with Data Safely
Let's Play with Data Safely
 
MongoDB 모바일 게임 개발에 사용
MongoDB 모바일 게임 개발에 사용MongoDB 모바일 게임 개발에 사용
MongoDB 모바일 게임 개발에 사용
 
Zoo keeper 소개
Zoo keeper 소개Zoo keeper 소개
Zoo keeper 소개
 
A review of zookeeper 2010.12
A review of zookeeper 2010.12A review of zookeeper 2010.12
A review of zookeeper 2010.12
 

Similar to Ch3,4. Pod, Replication and Controllers

Kubernetes in action
Kubernetes in actionKubernetes in action
Kubernetes in actionBingu Shim
 
[Open-infradays 2019 Korea] jabayo on Kubeflow
[Open-infradays 2019 Korea] jabayo on Kubeflow[Open-infradays 2019 Korea] jabayo on Kubeflow
[Open-infradays 2019 Korea] jabayo on Kubeflow석환 홍
 
[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)용호 최
 
Backend Master | 3.4.5 Deploy - Docker Principal
Backend Master | 3.4.5 Deploy - Docker PrincipalBackend Master | 3.4.5 Deploy - Docker Principal
Backend Master | 3.4.5 Deploy - Docker PrincipalKyunghun Jeon
 
Cloud Native Days Korea 2019 - kakao's k8s_as_a_service
Cloud Native Days Korea 2019 - kakao's k8s_as_a_serviceCloud Native Days Korea 2019 - kakao's k8s_as_a_service
Cloud Native Days Korea 2019 - kakao's k8s_as_a_serviceDennis Hong
 
Bottled water 요약 설명 20151114
Bottled water 요약 설명 20151114Bottled water 요약 설명 20151114
Bottled water 요약 설명 20151114Daeyong Shin
 
Devfair kubernetes 101
Devfair kubernetes 101Devfair kubernetes 101
Devfair kubernetes 101Daegwon Kim
 
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 KubernetesTommy Lee
 
Ch9,10. Deployments and Statefulsets
Ch9,10. Deployments and StatefulsetsCh9,10. Deployments and Statefulsets
Ch9,10. Deployments and StatefulsetsHongmin Park
 
Kubernetes on Premise Practical Guide
Kubernetes on Premise Practical GuideKubernetes on Premise Practical Guide
Kubernetes on Premise Practical GuideChan Shik Lim
 
kubernetes from beginner to advanced
kubernetes  from beginner to advancedkubernetes  from beginner to advanced
kubernetes from beginner to advancedOracle Korea
 
kubernetes : From beginner to Advanced
kubernetes : From beginner to Advancedkubernetes : From beginner to Advanced
kubernetes : From beginner to AdvancedInho Kang
 
Git: A Motivating Introduction
Git: A Motivating IntroductionGit: A Motivating Introduction
Git: A Motivating IntroductionJongwook Choi
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)Ildoo Kim
 
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안Jeongsang Baek
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호용호 최
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축Ji-Woong Choi
 

Similar to Ch3,4. Pod, Replication and Controllers (20)

1.intro to k8s
1.intro to k8s1.intro to k8s
1.intro to k8s
 
Kubernetes in action
Kubernetes in actionKubernetes in action
Kubernetes in action
 
[Open-infradays 2019 Korea] jabayo on Kubeflow
[Open-infradays 2019 Korea] jabayo on Kubeflow[Open-infradays 2019 Korea] jabayo on Kubeflow
[Open-infradays 2019 Korea] jabayo on Kubeflow
 
[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)
 
Backend Master | 3.4.5 Deploy - Docker Principal
Backend Master | 3.4.5 Deploy - Docker PrincipalBackend Master | 3.4.5 Deploy - Docker Principal
Backend Master | 3.4.5 Deploy - Docker Principal
 
Cloud Native Days Korea 2019 - kakao's k8s_as_a_service
Cloud Native Days Korea 2019 - kakao's k8s_as_a_serviceCloud Native Days Korea 2019 - kakao's k8s_as_a_service
Cloud Native Days Korea 2019 - kakao's k8s_as_a_service
 
Bottled water 요약 설명 20151114
Bottled water 요약 설명 20151114Bottled water 요약 설명 20151114
Bottled water 요약 설명 20151114
 
Devfair kubernetes 101
Devfair kubernetes 101Devfair kubernetes 101
Devfair kubernetes 101
 
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
 
K8s in action02
K8s in action02K8s in action02
K8s in action02
 
Ch9,10. Deployments and Statefulsets
Ch9,10. Deployments and StatefulsetsCh9,10. Deployments and Statefulsets
Ch9,10. Deployments and Statefulsets
 
Kubernetes on Premise Practical Guide
Kubernetes on Premise Practical GuideKubernetes on Premise Practical Guide
Kubernetes on Premise Practical Guide
 
kubernetes from beginner to advanced
kubernetes  from beginner to advancedkubernetes  from beginner to advanced
kubernetes from beginner to advanced
 
kubernetes : From beginner to Advanced
kubernetes : From beginner to Advancedkubernetes : From beginner to Advanced
kubernetes : From beginner to Advanced
 
Git: A Motivating Introduction
Git: A Motivating IntroductionGit: A Motivating Introduction
Git: A Motivating Introduction
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)
 
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
Kubernetes
Kubernetes Kubernetes
Kubernetes
 

Recently uploaded

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 

Recently uploaded (7)

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 

Ch3,4. Pod, Replication and Controllers

  • 1. Ch 3. Pods running containers in Kubernetes 박홍민
  • 2. Before .. - 지난주에 뭐했더라 ? 기억이 안난다.. - Docker container 이미지 빌드, 컨테이너 실행(docker build -t kubia, docker run --name kubia-conatiner -p 8080:8080 -d kubia) - Minikube (or kubernetes master), kubectl(k8s 클라이언트, cli) 다운로드 및 실행 - 지난주에 실습하고 PC를 shutdown 했음 -> 다시켜야함
  • 3. Before .. - Minikube 는 방금 다시 켰고.. (minikube start) - Kubectl 은 키거나 이미지를 재실행 한적이 없는데 지난주에 running, scaling 했던 pod 이 잡힘 -> minikube 가 run 하면서 명령내렸나 ? -> kubectl 이란 것은 어떤것? 데몬? 프로세스? -> 그냥 CLI. master node 와 REST API 통신함.
  • 4. 무엇을 배우나 ● Creating, running, and stopping pods ● Organizing pods and other resources with labels ● Performing an operation on all pods with a specific label ● Using namespaces to split pods into non-overlapping groups ● Scheduling pods onto specific types of worker nodes
  • 5. Pod 은 왜 필요한가? - 1 container 1 process 권고. 왜? 한 container 에서 나오는 로그 처리 분리하기 힘듬. - 1 container 1 process 권고이기 때문에 container 끼리 그룹할 필요가 있음. -> pod 생김. - 동일 pod 내의 container -> hostname, network interfaces, IPC namespace 등 공유 - Filesystem 은 kubernetes Volume
  • 6. Pod 은 왜 필요한가? - K8s 에서 pods 들은 flat 함. NAT 없음. LAN 처럼 Flat network - -> This is usually achieved through an additional software-defined network layered on top of the actual network. - 두 pod 에서 네트워크 패킷 던지면 source ip 가 서로의 actual ip 로 그대로 나옴.
  • 7. Pod 이라는 개념을 상황으로 이해하자 - Multi-tier app -> pod들을 여러개로 분리. - Pod 하나에 있는 컨테이너들 -> pod 이 죽으면 같이 죽는다. - Pod 은 scaling 의 한 단위 -> 만약 WEB-WAS-DB 가 1 pod 에 있으 면, WEB 늘리고싶은데 DB 도 늘리는 꼴 - 그렇다면.. Pod 에는 어떤 container들을 하나로 묶어야 ? -> 저럴 때라고 하는데 크게 와닿진 않는다. -> 그냥 1 container 1 pod 으로 분리하면 되는듯 ? 운영 중에 아닌 경우 ?
  • 8. Pod 이라는 개념을 상황으로 이해하자 잠깐.. 내가 k8s node를 생성한 적이 있었나 ? 마스터는 minikube를 설치하면서 됬을 것 같은데 … Minikube 를 설치했더니 뭐가 마스터고 뭐가 worker node 인지 분간이 잘 안간다. 그렇지만 일단 나중에 보기로하고..
  • 9. 잠깐.. 내가 k8s node를 생성한 적이 있었나 ? 마스터는 minikube를 설치하면서 됬을 것 같은데 … Minikube 를 설치했더니 뭐가 마스터고 뭐가 worker node 인지 분간이 잘 안간다. Kubectl가 설치되있으면 worker node 인가 ? 그렇지만 일단 나중에 보기로하고..
  • 10. Pod 의 정의 - YAML(metadata+spec+status) or json 으로 존재
  • 11. 잠깐.. - pod 을 host OS 에서 process 로 잡을 수 있나 ? - 의문의 명령어 날린 흔적들
  • 12. 잠깐.. - 아하 minikube 는 VM 이었다 - PPT 9페이지의 의문이 풀리는 순간
  • 13. 잠깐.. - 아까 쳤던 명령어를 다시쳐보니.. -> k8s master/worker node 요소 가 1. 2. 1’. 2’. 3’. 4’.
  • 14. 잠깐.. - 아까 쳤던 명령어를 다시쳐보니.. -> docker 컨테이너도 뭐가 많다
  • 15. (돌아와서) Pod 의 log $ docker logs <container id> (pod 이 떠있는 서버. 즉, minikube ssh를 한 minikube VM 에서) -> $ kubectl logs kubia-manual -c kubia (local 에서. 즉, minikube 를 깐 로컬 서버에서) Kubia server starting… (.. 점점 내가 어느 서버에 있는지 헷갈려진다..)
  • 16. Pod 관리 - label, annotation - Label, selectors : pod 구분, 필터 같은 느낌 - Label 은 꼭 pod 에만 쓸 수 있는 건 아님. - Label, selector 로 특정 node에 pod을 디플로이할 수 있음. - Annotation은 긴설명, label 은 짧은설명
  • 17. Pod 관리 - Namespace - K8s Resources 분리 가능 - Namespace 에 따른 자원(CPU,memory …)/유저 한정 - 같은 pod 을 다른 namespace 로 띄울 수 있음 Q. 언제 label, 언제 namespace 쓰나? 크게 와닿지 않음. Q. Kubernetes resource vs object A representation of a specific group+version+kind is an object. A specific URL used to obtain the object is a resource. (...)
  • 18. Pod 관리 - remove pod - 분명 지웠는데, 2분전에 다시 생김. 왜? - Kubectl run 으로 실행한 pod -> RelicationController 때문 .(Ch.9에 나온다고 함)
  • 19. Ch 4. Replication and other controllers: deploying managed pods 박홍민
  • 20. 무엇을 배우나 ● Keeping pods healthy ● Running multiple instances of the same pod ● Automatically rescheduling pods after a node fails ● Scaling pods horizontally ● Running system-level pods on each cluster node ● Running batch jobs ● Scheduling jobs to run periodically or once in the future
  • 21. Keeping pods healthy - liveness probes [Liveness probes] - HTTP GET probe - TCP Socket probe - Exec probe 실패 -> Container restart * /health 같은 url path 로 모든 로직 점검하도록 * 그 컨테이너 자체의 이상만 점검하도록. 예) Frontend WEB -> backend DB/WAS 와 연결이 안되는 것은 liveness probe에 넣으면 안됨 . (주 원인이 해당 container 가 아니므로.)
  • 23. Replication Controllers - Pod 이 항상 떠있을 수 있도록 Q.rc라는게, node마다 있는 것? 어떤 서버에, 어떤 형태로 존재? -> 마스터노드
  • 24. Rest .. - ReplicaSet vs ReplicaController -> ReplicaSet 쓴다. - DaemonSet - Job