SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Ch 1. Introducing
Kubernetes
박홍민
Monolithic -> Microservices
Apps on VMs vs Containers
Docker concepts/process
Kubernetes
- 구글이 몇 백, 몇 천 개의 컨테이너를 실행하다 보니 한번에 관리할 도구 필요
- 컨테이너화 앱 디플로이/관리 툴
- 여러 개의 노드 관리
- 여러 containerized-app 을 여러 노드에 올리기 위한 관리 도구
- 스케일링, 로드밸런싱, self-healing 등
-
Kubernetes architecture
- Kubernetes > Nodes
- Node = Master node + worker Nodes
- Master node = hosts Control Plane
K8s - Control Plane (master node)
- Kubernetes API Server, 서버간/요소들 간 통신용
- Scheduler, 워커 노드에 앱 배포 할당
- Controller Manager, 클러스터 기능. 요소 복제, 워커노드 추적, 노드 비활성
핸들 등
- Etcd, 클러스터 환경설정이 있는 영구 데이터 저장장소
- =>
- Control Plane 은 클러스터의 상태를 유지하고 제어
K8s - Worker nodes
- Container runtime
- Kubelet, API server 와 통신, node 에 떠있는 컨테이너 관리
- Kube-proxy(Kubernetes Service Proxy), 애플리케이션 네트워크 트래픽
로드밸런스
- =>
- 컨테이너 애플리케이션을 run, monitor 등
Running containers on k8s
Pod
pull
schedule
Ch 2. First steps with
Docker and Kubernetes
박홍민
Building the container image
- Docker client, daemon 은
같은 machine 이
아닐수도 있음. Client 는
non-linux host, daemon
은 VM 에서 동작 가능.
- Build 경로의 모든 파일은
docker daemon 으로
업로드됨. (불필요한 파일
있으면 빌드 속도 저하)
Building the container image
- Dockerfile -> build
- FROM node:7, 1줄이 ->
8줄의 pull 로
- Image 는 하나의 큰
덩어리가 아니라 multiple
layers
- Image = image1 + image2
- Image = (image1’ +
image1’’) + image2 ...
Building the container image
- 모든 이미지 PULL 이후에,
그 위에 새로운 layer 쌓음.
- 새로운 layer 는 명령줄 실행
/ 카피 등의 레이어
- 기존 image 로 container
실행 후 commit 해서 새
image 생성할 수도 있음. ->
rebuild 하기에 좋음.
Running the container image
Q. 에러가 났다는 것은 컨테이너가 러닝 안한다는거인줄 알고 포트수정 후에 다시
run 했는데 왜 container name 충돌 .. ? 에러 날때마다 rm 하고 다시 해야하나 ?
Running the container image
- 만약 docker daemon 과 docker client 가 다른 서버에 있다면 docker daemon
의 IP or hostname 입력 필요.
- 예) Windows/Mac -> docker daemon은 VM에 뜸.
Running the container image
- Docker inspect [] -> 오만 정보 나옴
Explore inside container
- Ps aux, top … -> 정말 그것만 뜸.. 깔끔하다 ..
Explore inside container
- 비교를 위해 host os (또는 일반 linux 서버) 에서 ps aux를 치면 ?
Compare outside vs inside container
- Host os vs Container 에서 node.js 프로세스를 잡아보자
Stop, remove container
- Docker stop 은 컨테이너 일시 중지, 그 상태 유지는 됨
Minikube, Kubectl download
- 화려한 다운로드 .. (ft. 팬소음)
- Minikube -> Kubernetes 작은버전, Kubectl -> Kubernetes 클라이언트
Minikube, Kubectl start
- Minikube 는 host OS에 guest OS VM으로 떴다.
- Q. Kubectl에 master node 에 대한 정보를 준적이 없는데,
- Kubernetes master 에 속한 cluster 라는걸 알아서 인식하나 .. ?
Minikube, Kubectl start
- Minikube 는 host OS에 guest OS VM으로 떴다.
- Q. Kubectl에 master node 에 대한 정보를 준적이 없는데,
- Kubernetes master 에 속한 cluster 라는걸 알아서 인식하나 .. ?
Minikube, Kubectl start
- Kubectl 로 container 를 run 하긴 했는데, 정확히 뭘 한지는 모르겠다.
Minikube, Kubectl start
- Kubectl 에서는 pod 단위로 관리. Container 단위로 관리하지 않음.
- Pod 은 ip가 분리되어있어서 pod 이 다르면 다른 서버에 떠있는 듯한 느낌.
- 이런 일이 일어난 것이었다고 함.
Minikube, Kubectl start
- Scaling 해보자.
- Pod 이 3개 됨
Minikube, Kubectl scaling
- Service, Pod, ReplicationController 3가지 개념.
Minikube, Kubectl scaling

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기
[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기
[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기
 
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
 
Docker로 서버 개발 편하게 하기
Docker로 서버 개발 편하게 하기Docker로 서버 개발 편하게 하기
Docker로 서버 개발 편하게 하기
 
Introduce Docker
Introduce DockerIntroduce Docker
Introduce Docker
 
[오픈소스컨설팅] Ansible을 활용한 운영 자동화 교육
[오픈소스컨설팅] Ansible을 활용한 운영 자동화 교육[오픈소스컨설팅] Ansible을 활용한 운영 자동화 교육
[오픈소스컨설팅] Ansible을 활용한 운영 자동화 교육
 
도커 학습과 Boot2Docker
도커 학습과 Boot2Docker도커 학습과 Boot2Docker
도커 학습과 Boot2Docker
 
What is chef - korean
What is chef - koreanWhat is chef - korean
What is chef - korean
 
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱
 
[Nomad connection]docker seminar 15.10.08
[Nomad connection]docker seminar 15.10.08[Nomad connection]docker seminar 15.10.08
[Nomad connection]docker seminar 15.10.08
 
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmondDocker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
 
Docker.소개.30 m
Docker.소개.30 mDocker.소개.30 m
Docker.소개.30 m
 
랩탑으로 tensorflow 도전하기 - tensorflow 설치
랩탑으로 tensorflow 도전하기 - tensorflow 설치랩탑으로 tensorflow 도전하기 - tensorflow 설치
랩탑으로 tensorflow 도전하기 - tensorflow 설치
 
manage inhouse openstack the hard way(kakao case study about 10,000 vms)
manage inhouse openstack the hard way(kakao case study about 10,000 vms)manage inhouse openstack the hard way(kakao case study about 10,000 vms)
manage inhouse openstack the hard way(kakao case study about 10,000 vms)
 
docker-based remote desktop
docker-based remote desktopdocker-based remote desktop
docker-based remote desktop
 
도커(Docker) 메트릭스 & 로그 수집
도커(Docker) 메트릭스 & 로그 수집도커(Docker) 메트릭스 & 로그 수집
도커(Docker) 메트릭스 & 로그 수집
 
[1A7]Ansible의이해와활용
[1A7]Ansible의이해와활용[1A7]Ansible의이해와활용
[1A7]Ansible의이해와활용
 
150625 마이크로커널 운영체제 김지은
150625 마이크로커널 운영체제 김지은150625 마이크로커널 운영체제 김지은
150625 마이크로커널 운영체제 김지은
 
RancherOS Introduction
RancherOS IntroductionRancherOS Introduction
RancherOS Introduction
 
Devfair kubernetes 101
Devfair kubernetes 101Devfair kubernetes 101
Devfair kubernetes 101
 

Similar a 1.intro to k8s

Similar a 1.intro to k8s (20)

[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar
 
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
 
K8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postK8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_post
 
Windows Kubernetes Bootstrapping and Operations
Windows Kubernetes Bootstrapping and OperationsWindows Kubernetes Bootstrapping and Operations
Windows Kubernetes Bootstrapping and Operations
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호
 
Docker osc 0508
Docker osc 0508Docker osc 0508
Docker osc 0508
 
[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)
 
Toward kubernetes native data center
Toward kubernetes native data centerToward kubernetes native data center
Toward kubernetes native data center
 
[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기
[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기
[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기
 
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine Learning
 
[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)
 
K8s in action02
K8s in action02K8s in action02
K8s in action02
 
Kubernetes on Premise Practical Guide
Kubernetes on Premise Practical GuideKubernetes on Premise Practical Guide
Kubernetes on Premise Practical Guide
 
[slideshare]k8s.pptx
[slideshare]k8s.pptx[slideshare]k8s.pptx
[slideshare]k8s.pptx
 
An overview of kubernetes & (very) simple live demo
An overview of kubernetes & (very) simple live demoAn overview of kubernetes & (very) simple live demo
An overview of kubernetes & (very) simple live demo
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
 
[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...
[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...
[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...
 

Último

Último (8)

JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
실험 설계의 평가 방법: 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 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 

1.intro to k8s

  • 3. Apps on VMs vs Containers
  • 5. Kubernetes - 구글이 몇 백, 몇 천 개의 컨테이너를 실행하다 보니 한번에 관리할 도구 필요 - 컨테이너화 앱 디플로이/관리 툴 - 여러 개의 노드 관리 - 여러 containerized-app 을 여러 노드에 올리기 위한 관리 도구 - 스케일링, 로드밸런싱, self-healing 등 -
  • 6. Kubernetes architecture - Kubernetes > Nodes - Node = Master node + worker Nodes - Master node = hosts Control Plane
  • 7. K8s - Control Plane (master node) - Kubernetes API Server, 서버간/요소들 간 통신용 - Scheduler, 워커 노드에 앱 배포 할당 - Controller Manager, 클러스터 기능. 요소 복제, 워커노드 추적, 노드 비활성 핸들 등 - Etcd, 클러스터 환경설정이 있는 영구 데이터 저장장소 - => - Control Plane 은 클러스터의 상태를 유지하고 제어
  • 8. K8s - Worker nodes - Container runtime - Kubelet, API server 와 통신, node 에 떠있는 컨테이너 관리 - Kube-proxy(Kubernetes Service Proxy), 애플리케이션 네트워크 트래픽 로드밸런스 - => - 컨테이너 애플리케이션을 run, monitor 등
  • 9. Running containers on k8s Pod pull schedule
  • 10. Ch 2. First steps with Docker and Kubernetes 박홍민
  • 11. Building the container image - Docker client, daemon 은 같은 machine 이 아닐수도 있음. Client 는 non-linux host, daemon 은 VM 에서 동작 가능. - Build 경로의 모든 파일은 docker daemon 으로 업로드됨. (불필요한 파일 있으면 빌드 속도 저하)
  • 12. Building the container image - Dockerfile -> build - FROM node:7, 1줄이 -> 8줄의 pull 로 - Image 는 하나의 큰 덩어리가 아니라 multiple layers - Image = image1 + image2 - Image = (image1’ + image1’’) + image2 ...
  • 13. Building the container image - 모든 이미지 PULL 이후에, 그 위에 새로운 layer 쌓음. - 새로운 layer 는 명령줄 실행 / 카피 등의 레이어 - 기존 image 로 container 실행 후 commit 해서 새 image 생성할 수도 있음. -> rebuild 하기에 좋음.
  • 14. Running the container image Q. 에러가 났다는 것은 컨테이너가 러닝 안한다는거인줄 알고 포트수정 후에 다시 run 했는데 왜 container name 충돌 .. ? 에러 날때마다 rm 하고 다시 해야하나 ?
  • 15. Running the container image - 만약 docker daemon 과 docker client 가 다른 서버에 있다면 docker daemon 의 IP or hostname 입력 필요. - 예) Windows/Mac -> docker daemon은 VM에 뜸.
  • 16. Running the container image - Docker inspect [] -> 오만 정보 나옴
  • 17. Explore inside container - Ps aux, top … -> 정말 그것만 뜸.. 깔끔하다 ..
  • 18. Explore inside container - 비교를 위해 host os (또는 일반 linux 서버) 에서 ps aux를 치면 ?
  • 19. Compare outside vs inside container - Host os vs Container 에서 node.js 프로세스를 잡아보자
  • 20. Stop, remove container - Docker stop 은 컨테이너 일시 중지, 그 상태 유지는 됨
  • 21. Minikube, Kubectl download - 화려한 다운로드 .. (ft. 팬소음) - Minikube -> Kubernetes 작은버전, Kubectl -> Kubernetes 클라이언트
  • 22. Minikube, Kubectl start - Minikube 는 host OS에 guest OS VM으로 떴다. - Q. Kubectl에 master node 에 대한 정보를 준적이 없는데, - Kubernetes master 에 속한 cluster 라는걸 알아서 인식하나 .. ?
  • 23. Minikube, Kubectl start - Minikube 는 host OS에 guest OS VM으로 떴다. - Q. Kubectl에 master node 에 대한 정보를 준적이 없는데, - Kubernetes master 에 속한 cluster 라는걸 알아서 인식하나 .. ?
  • 24. Minikube, Kubectl start - Kubectl 로 container 를 run 하긴 했는데, 정확히 뭘 한지는 모르겠다.
  • 25. Minikube, Kubectl start - Kubectl 에서는 pod 단위로 관리. Container 단위로 관리하지 않음. - Pod 은 ip가 분리되어있어서 pod 이 다르면 다른 서버에 떠있는 듯한 느낌.
  • 26. - 이런 일이 일어난 것이었다고 함. Minikube, Kubectl start
  • 27. - Scaling 해보자. - Pod 이 3개 됨 Minikube, Kubectl scaling
  • 28. - Service, Pod, ReplicationController 3가지 개념. Minikube, Kubectl scaling