SlideShare a Scribd company logo
Introduction to Kubernetes
[root@~]# whoami
杨章显
yangzhangxian@gmail.com
系统运维工程师
热衷于云计算,自动化运维,关注Go、Docker、
Kubernetes等技术
What’s Kubernetes
• 开源容器集群管理工具
• 轻量、简单
• 适用度广
• 可扩展
• 自我修复
Key Concepts
• Pod
Docker容器的集合, 可以通过Kubernetes创建、调度、管理
• BoundPod
运行在主机上的容器集合
Key Concepts (cont)
• Replication Controller
Pod的集合
Replicas副本
确保任何时候指定数量Pod在运行
管理Pod的生命周期
Key Concepts (cont)
• Services
一系列Pod的单一访问portal
服务IP
服务端口
负载均衡器
Key Concepts (cont)
• Labels/Selector
键值对
用于管理和选择一组对象
Kubernetes Architecture
kubecfg
API
server
Minion
Minion
etcd
Kubelet Proxy
Pod
container
Pod
container
API Server
• REST Storage
• Minion registry
• Pod registry
• Controller registry
• Service registry
• Endpoint registry
• Event registry
• Binding registry
• Etcd registry
kubecfg
API server
Pod
registry
Controller
registry
Services
registry
Binding
registry
Endpoints
registry
Event
registry
Etcd
registry
Minion
registry
Scheduler Client
API Server(Cont)
• Client
定义了操作Pod、Service、 ReplicationControllers 、Endpoint、
Event、Minion的操作
• Controller Manager
周期性地同步ReplicationControllers信息,确保集群中任何时候指
定数量的Pod在运行
周期性地同步Service endpoint信息
周期性地从Cloudprovider同步minion信息或者创建minion
• Etcd
分布式高可用一致键值存储,用于存储Kubernetes REST对象配置信息
• Scheduler
实时监测集群中已调度的Pod和未调度的Pod以及集群中的Minion
调度评估策略:Host端口冲突、已请求资源(内存、CPU),volume冲突
(GCE persistence disk)、节点selector
写Binding(PodID、Host)到API server,转换Pod为BoundPod并填充访
问服务的环境变量
API Server(Cont)
Kubelet
• Docker daemon
• Etcd Client
• go-dockerclient
Kubernetes调用go-dockerclient封装一系列操作Docker方法,如启动、
删除、创建等
• Kubelet
监测来自file、etcd、http的Pod配置信息,如果配置发生变化,kubelet进
行状态同步
主要操作:设置环境变量、绑定Volume和Port、启动Container、杀死
Container、删除Container等
Proxy
• 通过etcd客户端监测services和endpoints的变化
• 新增加服务,然后服务处于监听状态,并初始化iptables规则;删
除服务,Proxy移除该服务的监听及iptables规则
• 新增加endpoint, 注册endpoint以便Loadbalancer选择,反之移除
endpoint
• Loadbalancer通过roundrobin选择一个endpoint提供服务
Proxy(Cont)
Demo
• cAdvisor
https://github.com/google/cadvisor
• Heapster
https://github.com/GoogleCloudPlatform/heapster
• Openvswitch/Fannel/Socketplane
http://openvswitch.org/
https://github.com/coreos/flannel
https://github.com/socketplane/socketplane
Kubernetes ecosystem
THANK YOU

More Related Content

PPTX
Oh K8s Is Swag - Kubernetes Basics
PPTX
Docker Compose
PDF
Docker初识
PDF
微服務自己動手做
PDF
Azure Container Service 使用 DC / OS 管理 docker 容器
PPTX
Docker集群管理 工具篇
PPTX
Openstack neutron 原理详解
PPTX
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
Oh K8s Is Swag - Kubernetes Basics
Docker Compose
Docker初识
微服務自己動手做
Azure Container Service 使用 DC / OS 管理 docker 容器
Docker集群管理 工具篇
Openstack neutron 原理详解
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018

What's hot (20)

PPT
Large-Scale Cluster Mangement & Kubernetes Under The Hood
PDF
Wot2013云计算架构师峰会 -陈轶飞2
PPTX
Introduction to Docker
PPTX
Docker open stack
PDF
Docker home ted
PPTX
Docker - 30秒生出100台伺服器
PPTX
Docker實務
PDF
Docker Build
PPTX
Docker基礎
PDF
Kubernetes project update and how to contribute
PDF
基于Fuel的超融合一体机
PDF
PPTX
Rancher: 建立你的牧場艦隊
PPTX
CKAN : 資料開放平台技術介紹 (CAKN : Technical Introduction to Open Data Portal)
PPT
Software Engineer Talk
PPTX
AKS 與開發人員體驗 (Kubernetes 大講堂)
PPTX
Docker進階探討
PPTX
Windows Container 101: dotNET, Container, Kubernetes
PDF
Docker
PDF
廣宣學堂: 企業導入微服務實戰
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Wot2013云计算架构师峰会 -陈轶飞2
Introduction to Docker
Docker open stack
Docker home ted
Docker - 30秒生出100台伺服器
Docker實務
Docker Build
Docker基礎
Kubernetes project update and how to contribute
基于Fuel的超融合一体机
Rancher: 建立你的牧場艦隊
CKAN : 資料開放平台技術介紹 (CAKN : Technical Introduction to Open Data Portal)
Software Engineer Talk
AKS 與開發人員體驗 (Kubernetes 大講堂)
Docker進階探討
Windows Container 101: dotNET, Container, Kubernetes
Docker
廣宣學堂: 企業導入微服務實戰
Ad

Viewers also liked (6)

PDF
Kubernetes for Docker Developers
PPTX
Managing Kubernetes from Python using Kube
PDF
Docker-OVS
PDF
Cluster management with Kubernetes
PDF
Kubernetes architecture
PPTX
API Management and Kubernetes
Kubernetes for Docker Developers
Managing Kubernetes from Python using Kube
Docker-OVS
Cluster management with Kubernetes
Kubernetes architecture
API Management and Kubernetes
Ad

3 introduction to kubernetes