도커부터 시작하여 쿠버네티스까지 각 서비스의 기능 및 구성요소에 대해 자세히 소개해 드립니다 | Learn more about the features and components of each service, starting with a Docker and ending with Kubernetes.
source : http://www.opennaru.com/opensource/kubernetes/
Kubernetes는 컨테이너화된 애플리케이션(Containerized Application)의 배포, 확장 그리고 관리를 할 수 있는 오픈 소스 컨테이너 오케스트레이션 시스템입니다.
쿠버네티스는 구글 엔지니어들이 개발하고 설계한 플랫폼으로서 사내에서 이용하던 컨테이너 클러스터 관리 도구인 “Borg”의 아이디어를 바탕으로 만들어진 오픈소스 소프트웨어입니다.
구글은 쿠버네티스의 원천이 되는 Borg를 수년 동안 개발하고 운영하면서 축적된 경험을 바탕으로 쿠버네티스를 오픈소스 프로젝트로 만들어 었습니다.
- Archeology: before and without Kubernetes
- Deployment: kube-up, DCOS, GKE
- Core Architecture: the apiserver, the kubelet and the scheduler
- Compute Model: the pod, the service and the controller
Author: Oleg Chunikhin, www.eastbanctech.com
Kubernetes is a portable open source system for managing and orchestrating containerized cluster applications. Kubernetes solves a number of DevOps related problems out of the box in a simple and unified way – rolling updates and update rollback, canary deployment and other complicated deployment scenarios, scaling, load balancing, service discovery, logging, monitoring, persistent storage management, and much more. You will learn how in less than 30 minutes a reliable self-healing production-ready Kubernetes cluster may be deployed on AWS and used to host and operate multiple environments and applications.
source : http://www.opennaru.com/opensource/kubernetes/
Kubernetes는 컨테이너화된 애플리케이션(Containerized Application)의 배포, 확장 그리고 관리를 할 수 있는 오픈 소스 컨테이너 오케스트레이션 시스템입니다.
쿠버네티스는 구글 엔지니어들이 개발하고 설계한 플랫폼으로서 사내에서 이용하던 컨테이너 클러스터 관리 도구인 “Borg”의 아이디어를 바탕으로 만들어진 오픈소스 소프트웨어입니다.
구글은 쿠버네티스의 원천이 되는 Borg를 수년 동안 개발하고 운영하면서 축적된 경험을 바탕으로 쿠버네티스를 오픈소스 프로젝트로 만들어 었습니다.
- Archeology: before and without Kubernetes
- Deployment: kube-up, DCOS, GKE
- Core Architecture: the apiserver, the kubelet and the scheduler
- Compute Model: the pod, the service and the controller
Author: Oleg Chunikhin, www.eastbanctech.com
Kubernetes is a portable open source system for managing and orchestrating containerized cluster applications. Kubernetes solves a number of DevOps related problems out of the box in a simple and unified way – rolling updates and update rollback, canary deployment and other complicated deployment scenarios, scaling, load balancing, service discovery, logging, monitoring, persistent storage management, and much more. You will learn how in less than 30 minutes a reliable self-healing production-ready Kubernetes cluster may be deployed on AWS and used to host and operate multiple environments and applications.
A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.
** Kubernetes Certification Training: https://www.edureka.co/kubernetes-certification **
This Edureka tutorial on "Kubernetes Architecture" will give you an introduction to popular DevOps tool - Kubernetes, and will deep dive into Kubernetes Architecture and its working. The following topics are covered in this training session:
1. What is Kubernetes
2. Features of Kubernetes
3. Kubernetes Architecture and Its Components
4. Components of Master Node and Worker Node
5. ETCD
6. Network Setup Requirements
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
Autoscaling of workloads in the Kubernetes environment. A slidedeck about Pod and Node autoscaling and the machinery behind it that makes it happen. Few recommendations for Pod and Node autoscaling while implementing it.
A basic introduction to Kubernetes. Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.
A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.
** Kubernetes Certification Training: https://www.edureka.co/kubernetes-certification **
This Edureka tutorial on "Kubernetes Architecture" will give you an introduction to popular DevOps tool - Kubernetes, and will deep dive into Kubernetes Architecture and its working. The following topics are covered in this training session:
1. What is Kubernetes
2. Features of Kubernetes
3. Kubernetes Architecture and Its Components
4. Components of Master Node and Worker Node
5. ETCD
6. Network Setup Requirements
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
Autoscaling of workloads in the Kubernetes environment. A slidedeck about Pod and Node autoscaling and the machinery behind it that makes it happen. Few recommendations for Pod and Node autoscaling while implementing it.
A basic introduction to Kubernetes. Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.
데브시스터즈의 Cookie Run: OvenBreak 에 적용된 Kubernetes 기반 다중 개발 서버 환경 구축 시스템에 대한 발표입니다.
Container orchestration 기반 개발 환경 구축 시스템의 필요성과, 왜 Kubernetes를 선택했는지, Kubernetes의 개념과 유용한 기능들을 다룹니다. 아울러 구축한 시스템에 대한 데모와, 작업했던 항목들에 대해 리뷰합니다.
*NDC17 발표에서는 데모 동영상을 사용했으나, 슬라이드 캡쳐로 대신합니다.
This presentation start from basic concept such as container and container orchestration
And then go through Kubernetes internal especially Master Node components and Work Node components and show and explain core mechanism with codes.
Cloud market trends, what is kubernets? (Korean)DonghwanKim85
As of early last year, Kubernetis has become the mainstream cloud market.
In addition, major cloud vendors such as Amazon, Google, Azure, and others have all prepared this seminar because of the competitive support that IBM and Cisco support for the container management environment and because of the increasing standard of Cubernetis.
도커의 근간 기술을 이해하기 위해 도커의 역사를 살펴보고, 클러스터 환경으로 컨테이너 환경을 운영하는 쿠버네티스에 대한 핵심 개념에 대해 알아봅니다. 마지막으로 쿠버네티스 클러스터를 손쉽게 생성하고 관리할 수 있는 네이버 클라우드 플랫폼 Kubernetes service를 데모를 통해 소개해드립니다 | To understand Docker's underlying technology, we look at Docker's history and learn about the core concepts of Kubernetis, which operates a container environment in a cluster environment. Lastly, I will introduce Naver's cloud platform Kubernetes service, which allows you to easily create and manage Kubernetes clusters, through a demo.
BRK3713 - Microsoft Azure에서 Windows와 Linux를 동시에 사용하는 하이브리드 Kubernetes 클러스터 구축Jung Hyun Nam
이 세션에서는 Windows Kubernetes 클러스터를 구축하는 방법에 대해 자세히 설명하고 Windows 노드와 Linux 노드를 동시에 구성 할 수있는 하이브리드 Kubernetes 클러스터와 함께 Polyglot DevOps 환경을 활용하는 예제를 제공합니다.
Windows 기반 노드를 Linux 기반 노드로 구성된 기존 Kubernetes 클러스터에 통합하여 복잡한 응용 프로그램을 호스팅하는 방법을 배울 수 있습니다.
이젠 사물 인터넷을 넘어, 지능형 사물 인터넷 시대로 접어들고 있습니다. 지능형 사물 인터넷 트렌드는 어떤 지, 그리고 클라우드 기반의 IoT 서비스는 어떻게 구축이 가능한 지 함께 살펴보겠습니다 | Now beyond the Internet of Things, we are entering the era of the intelligent Internet of Things. Let's take a look at what the intelligent Internet of Things trend is and how cloud-based IoT services can be built.
클라우드 개념부터 클라우드와 함께하는 중요 기술들에 대해 살펴보며, 클라우드 컴퓨팅에 대한 이해와 기술 트렌드를 살펴보실 수 있습니다 | From the concept of cloud to important technologies with the cloud, you can see the understanding of cloud computing and technology trends.
21년도 12월부터 순차적으로 개시되는 마이데이터 사업에 대해 알아봅니다. 이를 통해 마이데이터 사업이 우리 삶과 비즈니스에 끼치는 영향에 대해 이해하고, 클라우드 상에서 마이데이터 사업을 어떻게 적용시킬 수 있는지에 대해 살펴봅니다. | Let's learn about the MyData business that starts sequentially in December 2021. Through this, we understand the impact of MyData business on our lives and businesses, and look at how we can apply MyData business on the cloud.
8월 온투법과 9월 특금법 시행을 앞둔 기업이라면, 자금세탁방지시스템[AML] 구축은 필수입니다. AML 업계 1위 제품인 AMLXpress에 대해 소개해드립니다 | Let me introduce AMLXpress, the No. 1 product in AML industry
서로 다른 애플리케이션의 중개자 역할을 하는 API가져온 API Economy의 정의를 살펴보고 API Economy 성공 기업들을 소개합니다 | Explore API Economy, which acts as a broker for different applications, and introduce API Economy successful companies.
클라우드에서 인프라 구축 시 고려해야 할 사항들을 살펴보고, 네이버 클라우드 플랫폼을 활용하여 고가용성을 유지하는 방안에 대해 소개합니다. | Explore the considerations of building infrastructure in the cloud and introduce ways to maintain high availability by leveraging the Naver cloud platform.
최근 화두인 마이데이터사업에 대한 정의를 살펴보고, 마이데이터 사업을 위한 네이버클라우드플랫폼 서비스 및 구성방안에 대해 안내해드립니다. | We will look at the definition of MyData business, which is a hot topic recently, and guide you on Naver Cloud Platform service and architecture for MyData business.
VPC 환경에서의 보안과 네이버클라우드플랫폼에서 제공하는 보안관제서비스인 security monitoring 서비스에 대해 소개합니다. | Introduce Naver Cloud Platform security services, world-class security technologies to protect your data and services from external threats.
매년 가트너에서는 향후 5년간 IT업계의 파괴적 혁신을 도모할 주요 기술 흐름을 소개합니다. 가트너에서 2021년도 혁신 기술로서 언급한 내용들을 간략하게 정리하여 공유드립니다 | 98 / 5000소스 TTS복사하기필기인식기번역하기자동완성
영어열기/닫기 아이콘
Every year Gartner introduces key technology trends that will drive disruptive innovation in the IT industry over the next five years. We share a brief summary of what Gartner mentioned as an innovation technology of 2021.
클라우드 상에서 논리적으로 격리된 고객 전용 네트워크를 제공하는 VPC에 대해 살펴보고 스토리지 암호화, 감사 등 보안을 위한 다양한 기능들을 소개해드립니다 | Explore VPC providing a logically siloed customer-only network on the cloud and introduce a range of security features including storage encryption and auditing.
2025년도 까지의 데이터 시장의 전망을 살펴보고, 클라우드 상에서 데이터를 효율적으로 다루기 위한 서비스들을 소개합니다 | Explore the prospects for the data market by 2025 and introduce services to efficiently address data in the cloud
대규모 분산 서비스 및 시스템 성능을 분석하고 진단하기 위한 APM(Application Performance Management) tool Pinpoint의 특징과 기능에 대해 소개합니다 | Introduce the features and capabilities of Application Performance Management (APM) tool pinpoint for analyzing and diagnosing large distributed services and system performance
포스트코로나 시대에 비대면 서비스가 활성화되면서, 이를 실현하기 위한 AI 기술이 주목받고 있습니다. 네이버클라우드플랫폼에서 제공하는 AI 서비스를 살펴보시고 여러분들의 비즈니스에 적합한 AI서비스를 활용해보세요! | As non-face-to-face services are activated in the post-corona era, AI technology to realize them is attracting attention. Take a look at the AI service offered by Naver Cloud Platform and take advantage of the AI service that's right for your business!
코로나로 인해 촉발된 언택트 시대로 인해 우리 삶에 많은 변화가 일어나고 있습니다. 이러한 변화가 의료계에서는 어떤 모습으로 나타나고 있는지 살펴봅니다. | The untact era triggered by the corona is causing a lot of changes in our lives. Let's take a look at what these changes look like in the medical world.
엄청난 동시 접속 수로 고사양이 요구되는 게임 '배틀그라운드'! 속도가 중요한 게임 서비스에서 가장 필요한 고성능 서버입니다. 배틀그라운드 사례 뿐아니라 SK텔레콤도 선정하여 사용하고 있는 네이버클라우드플랫폼 베어메탈 서버에 대해 소개합니다 | Battlegrounds is a game that requires a lot of simultaneous access! High-performance servers most needed for speed-critical gaming services. In addition to the case of Battlegrounds, SK Telecom has selected and used Naver Cloud Platform Bare Metal Server.
네이버 클라우드 플랫폼의 "TensorFlow Server"상품은 TensorFlow를 비롯한 딥러닝 및 머신러닝 패키지와 코드를 작성할 수 있는 웹 기반의 Jupyter Notebook을 제공하여 빠르게 딥러닝, 머신러닝을 구현할 수 있게 해주는 상품입니다. 해당 온라인 교육을 통해 네이버 클라우드 플랫폼 상에서 Jupyter를 이용해 데이터 분석환경을 구축하는 법을 알아봅니다. | The "TensorFlow Server" product on Naver's cloud platform includes TensorFlow. This product provides a web-based Jupyter Notebook that allows users to write deep learning and machine learning packages and code so that they can quickly implement deep learning and machine learning.In this chapter, we will learn how to build a data analysis environment using Jupyter on Naver's cloud platform.
왜 기업은 멀티/하이브리드 클라우드에 주목해야하는지, 그리고 실제 멀티/하이브리드 유형과 사례를 살펴봄으써 멀티/하이브리드 수행 전략을 세움에 있어 실질적인 도움을 드립니다 | Why businesses should pay attention to multi-/hybrid clouds, and by looking at real-world multi/hybrid types and examples, we offer real help in creating a multi- and hybrid performance strategy.
사람에 가까운 자연스럽고 깨끗한 합성음을 제공하는 음성 합성 API인 Clova Premium Voice에 대한 기능 및 데모를 통한 사용법을 소개합니다 | Introducing features and demos for Clova Premium Voice, a voice synthesis API that provides near-human, natural, clean sounds
네이버클라우드플랫폼에서 제공하는 클라우드 데이터베이스 서비스를 소개하고, 네이버클라우드 플랫폼의 클라우드 데이터베이스 관리 노하우에 대해 소개합니다 | Introduce cloud database services provided by Naver Cloud Platform and know-how of managing cloud databases on Naver Cloud Platform
OCR(Optical character recognition, 광학 문자 인식)은 이미지(사진) 속 글자 위치를 찾고 어떤 글자인지 자동으로 알아내는 기술로서 OCR 서비스는 네이버의 AI 기술을 활용하여 주요 비즈니스 활용에 최적화된 고성능 OCR 인식 모델을 적용하였습니다. 네이버 클라우드 플랫폼의 OCR서비스에 대해 좀 더 상세히 소개해드리도록 하겠습니다.
3. VM .vs. Container
• Virtualization은 단일 시스템에서 여러 OS가 동시에 실행
• Container는 동일한 OS 커널을 공유하며 시스템의 나머지 부분으로 프로세스를 격리
• 기존 가상화 기반으로 많이 사용되는 OS 전체 가상화 방식이 아닌, 하나의 OS 커널 위에 각각의 개별 프로세스
와 그에 따른 환경을 격리화 시키는 방식이다. OS 가상화 보다 오버헤드가 적고, 성능 손실이 적음.
4. Docker Networking
• Docker0
• Linux Bridge (L2)
• IP pool 내에서 Prv IP 자동 할당
• 동일 호스트에 생성되는 모든 Container들은 같은 Docker0에 바인딩
• 각 Container는 외부 또는 다른 Container와 통신을 위해
Linux Bridge로 통신
• Container와 Linux Bridge 간 veth pair 생성
• Container 각각은 Linux namespace를 이용해 독립된 network 영역을 할당
• 각 Container는 의도한 Port만 노출(Expose)해서 통신
5. • Docker Networking mode : default : bridge
• Container IP Pool
• CIDR : 172.17.0.0/16 (default)
• Container Private IP
Docker Networking
6. Docker0
• 동일 호스트, 동일 network Container의 gateway 역할
• Kubernetes Cluster 구성 시에는 CNI0가 docker0 역할
Container eth0
• docker0 veth와 연결
• docker0 IP range 중 임의 할당
Container Routing table
• Container의 default GW 가 docker0로 설정
Docker Networking
7. Docker Networking : East – West Communication
동일 호스트 Container 간 통신
172.17.0.2
호스트
172.17.0.3
Docker0
8. • 한계
• 동일 호스트, 동일 bridge 내 Container 간 사용 가능
• 여러 호스트에 분산된 Container의 통신을 위해서는 overlay network add-on 도입 필요
• Container 라이프사이클 특성 상 IP를 이용한 통신에 한계
• Container 호스트 파일을 이용한 도메인을 이용한 통신
EX) Container 간 link 연결
Docker Networking : East – West Communication : Linking
172.17.0.2 172.17.0.3
호스트
Docker0
link
docker run –d --name mysql mysql
docker run –d --name apache --link mysql httpd
9. Custom Network 당 Linux Bridge 생성
동일 Network 바인드 Container 간 사설 통신 가능
동일 호스트, 다른 Network 바인드 Container 간 통신은 불가
• 서로 다른 VLAN 간 통신 위해 OVS 혹은 외부 Router 필요한 것과 동일
한계
• 동일 호스트, 동일 bridge 내 Container 간 사용 가능
• 여러 호스트에 분산된 Container의 통신을 위해서는 추가 overlay network add-on 도입 필요
Docker Networking : East – West Communication: Custom Network
10. Docker Networking : East – West Communication
다른 호스트 Container 간 통신?
앞에서 설명한 link, Custom Network 생성은 scope : local
Overlay Network add-on 도입 필요 (OVS, flannel, Calico, weave 등)
Con #3
호스트 #2
Docker0
호스트 #1
eth0 eth0
Docker0
Con #2 Con #4 Con #5 Con #6Con #1
Overlay Network : weave / flannel
Network 1
Network 2
Network 3
11. • Overlay Network flannel를 활용한 멀티 호스트 Container 간 통신 env 구성
• Network Overlay add-on 별 특징 존재, 상황에 맞는 적합한 add-on 선택 필요
• 하기 예는 Flannel를 이용한 예시
• cni0 bridge 생성
• default GW
• 멀티 호스트 Container들은 10.244.0.0/16 대역 중 하나 임의 할당
Docker Networking : East – West Communication : Kubernetes
12. 외부와의 통신이 필요해요~
• Container expose : -p / -P
```
docker run –d –p 8080:80 --name test nginx
```
• Kubernetes의 경우는 Service 오브젝트를 통해서 외부에 Container 오픈 : LoadBalancer, NodePort 등
Docker Networking : South – North Communication
13. • Docker 호스트의 iptables를 이용한 DNAT / SNAT
Docker Networking : South – North Communication
17. Kubernetes 구성 요소 – Master Node
API Server Scheduler
Controller-Manager
Replication
Controller
Endpoint
Controller
Node
Controller
Service Account
TokenController
etcd
Kubernetes Master (Control Plane)
Kubernetes Cluster 에서 컨테이너의 관리 및 배포를 관
리하는 액세스 제어 플레인
클러스터 복제 패턴에 따라 마스터 수는 1개 이상임
Kubernetes Master
Kubernetes API 를 노출하는 컴포넌트로, Kubernetes
오브젝트 관리/제어를 위한 프론트 엔드
API Server
Node 가 배정되지 않은 새로 생성된 Pods 를 감지하고 그
것이 구동될 Node 를 선택함
Scheduler
4개의 컨트롤러는 논리적으로는 개별 프로세스이지만
복잡성을 낮추기 위해 단일 바이너리로 컴파일
Controller-Manager
• Node Controller : 노드가 다운되었을 때 통지와 대응
• Replication Controller : 모든 replication controller
object 에 대해 알맞는 수의 pods 를 유지
• Endpoint Controller : 서비스와 Pods 를 연결
• Service Controller : 새로운 네임스페이스에 대한 기본
계정과 API 접근 토큰 생성
모든 클러스터 데이터를 담는 key-value 저장소
Replicaset, controller, scheduler, kubelet 등은 etcd 에
바로 접근하지 않고 API Server 를 통해 etcd 데이터에 접근
할 수 있음
Etcd
18. Kubernetes 구성 요소 – Worker Node
동작중인 Pods 를 유지시키고 Kubernetes 런타임 환경
을 제공함
Kubernetes Worker Node
각 Node 에 구동되는 Agent 로 Kubernetes Master 와
통신하며 Pod Spec 에 기술된 컨테이너들이 정상적으로
작동하도록 함
Kubelet
호스트 상에서 네트워크 규칙을 유지하고 연결에 대한 포
워딩을 수행함으로서 쿠버네티스 서비스 추상화가 가능하
도록 함
Kube-proxy
컨테이너가 실행될 수 있는 환경
(Docker, containerd, cri-o, rktle 등)
Container Runtime
Kubelet Kube-proxy
Worker Node
ContainerContainer
ContainerContainer
PodPod
WEB UI Monitoring
Plugin Network DNS
Kubernetes 기본 네트워크인 kubenet 은 기능 제약이
있어 사용자 요구사항에 따라 별도의 CNI 를 사용함
Plugin Network
Kubernetes 서비스를 위해 DNS 레코드를 제공해주는
DNS 서버, 기본 kube-dns 를 제공하나 성능 개선을 위
해 별도의 플러그인 DNS 를 사용하기도 함
DNS
Kubernetes 클러스터를 위한 범용의 웹 기반 UI 로 클러
스터와 클러스터 내 동작하는 어플리케이션에 대한 관리와
실패 처리가 가능함
WEB UI
중앙 데이터베이스 내에 컨테이너들에 대한 포괄적인 시계
열 메트릭스를 기록하고 데이터 조회를 위한 UI 제공함
Resource Monitoring
19. Why Container orchestration tool?
멀티 호스트 Container 간 통신?
앞에서 설명한 docker0, link, Custom Network 생성은 scope : local
Overlay Network add-on 도입 필요 (OVS, flannel, Calico, weave 등)
Con #3
호스트 #2
Docker0
호스트 #1
eth0 eth0
Docker0
Con #2 Con #4 Con #5 Con #6Con #1
Network 1
Network 2
Network 3
20. Why Container orchestration tool?
멀티 호스트 Container 간 통신?
앞에서 설명한 docker0, link, Custom Network 생성은 scope : local
Overlay Network add-on 도입 필요 (OVS, flannel, Calico, weave 등)
Con #3
호스트 #2
Docker0
호스트 #1
eth0 eth0
Docker0
Con #2 Con #4 Con #5 Con #6Con #1
Overlay Network : flannel / Calico / weave
Network 1
Network 2
Network 3
Kubernetes
21. Why Container orchestration tool?
Container
Docker0
호스트 #1
Con #1 Con #2
eth0
Docker0
호스트 #2
Con #3 Con #4
eth0
Docker0
호스트 #3
eth0
Con #5 Con #6 Con #7 Con #8
? ? ?
추가 컨테이너는 어디에 위치?
호스트 리소스 (CPU, MEM..)와 affinity 설정
등 여러 요소 기준으로 스케줄링 노드 선정 가능
22. Why Container orchestration tool?
Container
Docker0
호스트 #1
Con #1 Con #2
eth0
Con #4 Con #5 Con #6 Con #7
컨테이너 failure resistance?
Replication Controller(Replicaset)
Deployment
X
Docker0
호스트 #2
Con #3 Con #4
eth0
Docker0
호스트 #3
eth0
Con #5 Con #6 Con #7 Con #8
X
23. Why Container orchestration tool?
Container
Docker0
호스트 #1
Con #1 Con #2
eth0
컨테이너 failure resistance?
Replication Controller(Replicaset)
Deployment
Con #4 Con #5 Con #6 Con #7
X
Docker0
호스트 #2
Con #3 Con #4
eth0
Docker0
호스트 #3
eth0
Con #5 Con #6 Con #7 Con #8
X
Con #9
24. Why Container orchestration tool?
Container
Docker0
호스트 #1
Con #1 Con #2
eth0
Docker0
호스트 #2
Con #3 Con #4
eth0
Docker0
호스트 #3
eth0
Con #5 Con #6 Con #7 Con #8
컨테이너 failure resistance?
Replication Controller(Replicaset)
Deployment
X
25. Why Container orchestration tool?
Container
Docker0
호스트 #1
Con #1 Con #2
eth0
Docker0
호스트 #2
Con #3 Con #4
eth0
Docker0
호스트 #3
eth0
Con #5 Con #6 Con #7 Con #8
컨테이너 failure resistance?
Replication Controller(Replicaset)
Deployment
XCon #9 Con #10 Con #12Con #11
26. Why Container orchestration tool?
Load Balancer
컨테이너 교체가 필요한데?
Rolling update
Pod #1
Replication Controller
Pod #2 Pod #4Pod #3
27. Why Container orchestration tool?
컨테이너 교체가 필요한데?
Rolling update
Replication Controller Replication Controller v2
Load Balancer
Pod #1
X
Pod #2 Pod #4Pod #3 Pod #5
28. Why Container orchestration tool?
컨테이너 교체가 필요한데?
Rolling update
Replication Controller Replication Controller v2
Load Balancer
Pod #1
X
Pod #2 Pod #4Pod #3 Pod #5
X
Pod #6
29. Kubernetes 기능
Automatic Binpacking Service Discovery & Load Balancing
Secret & Configuration Management Batch Execution
Storage Orchestration Self Healing
Horizontal Scailng Automatic Rollbacks & Rollouts
Worker node 의 가용성을 유지하면서 보유한 리소스를
충분히 활용할 수 있도록 스스로 스케쥴링하며
컨테이너를 배치함
컨테이너에 IP 주소를 자동으로 할당하고 클러스터 내
트래픽을 로드 밸런싱 할 수 있는 컨테이너 세트에
단일 DNS 이름을 할당함
로컬 저장소를 선택하거나 NFS, iSCSI 등과 같은
공유 네트워크 스토리지를 컨테이너에 할당/마운트 하여
사용 가능함
실패한 컨테이너를 자동으로 다시 시작하고, 사용자가 정의한
헬스체크에 응답이 없는 컨테이너를 종료함. 워커 노드 장애 시
사용 가능한 다른 워커 노드에 컨테이너를 다시 기동함
Application 연동 및 접근 제어를 위한 보안 키, 설정 내역을
컨테이너 이미지의 변경 없이 업데이트 할 수 있고 외부로
노출하지 않고 사용 가능함
CPU 사용률과 같은 metric 을 기반으로 pod 의 Deployments,
replicaset 을 스케줄링하여 수평적 확장 가능함
컨테이너 기반의 서비스 관리 뿐 아니라 배치 및 CI 작업 부하를
관리할 수 있으므로 원하는 경우 실패한 컨테이너 대체 가능함
컨테이너의 응용 프로그램이나 구성에 대한 변경 사항을 점진적으로
업데이트 하고 문제 발생 시 자동으로 롤백 할 수 있음