SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
解析OpenStack与Docker集成
刘光亚
gyliu513@gmail.com
Sina Weibo: @platformer
自我介绍
• 刘光亚
• IBM西安云计算开发部架构师
– 分布式计算
– 资源管理
– 容器技术
– 系统集成
• OpenStack ATC
– Magnum (OpenStack Docker Container Service) Core Reviewer
– Nova
– HEAT
– Cinder
– Neutron
OpenStack & Docker
PaaS
Application Centric
IaaS
Resource Centric
开放的架构
OpenStack As Layers
Nova Glance Keystone
计算 镜像 认证
Layer1: 基础设施层
Cinder Swift Neutron
块存储 对象存储 网络
Layer2: 扩展基础设施层
Ceilometer Horizon Barbican
计量 用户界面
Layer3: 可选的增强特性
Heat Magnum Sahara
Orchestration CaaS Hadoop
Layer4: 消费型服务
Designate Ironic
DNS 裸机部署
秘钥管理
Murano
应用目录
Solum
应用开发
Kolla:
Container
Everything
OpenStack As Layers
Nova Glance Keystone
计算 镜像 认证
Layer1: 基础设施层
Cinder Swift Neutron
块存储 对象存储 网络
Layer2: 扩展基础设施层
Ceilometer Horizon Barbican
计量 用户界面
Layer3: 可选的增强特性
Heat Magnum Sahara
Orchestration CaaS Hadoop
Layer4: 消费型服务
Designate Ironic
DNS 裸机部署
秘钥管理
Murano
应用目录
Solum
应用开发
Kolla:
Container
Everything
OpenStack As Layers
Nova Glance Keystone
计算 镜像 认证
Layer1: 基础设施层
Cinder Swift Neutron
块存储 对象存储 网络
Layer2: 扩展基础设施层
Ceilometer Horizon Barbican
计量 用户界面
Layer3: 可选的增强特性
Heat Magnum Sahara
Orchestration CaaS Hadoop
Layer4: 消费型服务
Designate Ironic
DNS 裸机部署
秘钥管理
Murano
应用目录
Solum
应用开发
Kolla:
Container
Everything
Nova Docker Driver
• Nova集成
– 把Docker作为一种新的Hypervisor来处
理,作为一个nova compute的driver,
便于集成
– https://github.com/stackforge/nova-
docker
• 优点
– 通过nova scheduler来进行资源调度
– 通过Heat来管理部署运行,服务发现
和扩容缩容,所有的docker container
作为VM来处理
– 通过Neutron来管理网络,GRE,vLan,
VxLan等等,实现网络隔离。
– 支持多租户,为不同租户设置不同的
quota
• 缺点:丢失Docker的高级的特性
– 容器关联
– 端口映射
– 不同网络模式的配置
• Host
• Container
HEAT Docker Driver
• HEAT集成
– 添加了一个新的HEAT
Resource:
DockerInc::Docker::Container
– HEAT docker driver直接与
docker server交互
– 没有和nova,cinder,
neutron等交互
• 优点
– 完全兼容docker API
– Docker所有参数可以在heat
的template进行设置
• 缺点
– 没有资源调度
– 没有网络管理
HEAT Docker Driver
• 典型应用场景
https://github.com/MarouenMechtri/Docker-containers-deployment-with-OpenStack-Heat
Magnum: Container As A Service
https://github.com/openstack/magnum/blob/master/specs/containers-service.rst
Magnum Roadmap
• Magnum Conductor 水平扩展
– 提高系统处理client请求的性能
• 原生Docker集群调度管理
– Swarm, Gantt, Mesos
• 原生Docker集群网络管理
– 在Docker服务器上通过--net=host模式部署docker container启动L2
Agent
• Magnum Notifications
– 资源状态跟踪
– 监控
– 第三方集成
• K8S深度集成
– Mangum提供python-k8sclient和K8S集成
https://blueprints.launchpad.net/magnum
Murano: Application Catalog
• Murano简介
– 在OpenStack基础上提供应用目录服务
– 应用开发人员或者云管理员可以通过Solum开
发应用并通过Murano发布这些应用
– 用户挑选自己需要的应用服务,通过应用服务
组合构建自己的应用。
– Murano通过HEAT部署应用
– Murano通过Ceilometer触发自动扩展
– Kubernetes现在已经作为Murano的一个服务
Murano: Application Catalog
• Murano应用一键部署
Murano Integrate With Kubernetes
• Murano一键部署
设置环境名,例
如 KubernetsHttpd
1)创建K8S集群模板
2)创建Pod模板
3)创建Container模板
1)通过heat创建K8S
集群
2)通过K8S创建Pod
OpenStack Deployment With Docker
Kolla:Docker+OpenStack
• Kolla简介
– 使用Docker容器部署OpenStack服务
– 提供所有OpenStack服务的镜像
– 基于docker-compose
– 所有的container采用--net=host模式启动
• 为什么需要Kolla
– 简化OpenStack的安装部署和回滚
– 按照组件/服务对OpenStack进行升级/回滚
Kolla:Docker+OpenStack
• 创建一个OpenStack集群
– 启动一个管理节点
• $ ./kolla/tools/start
– 启动一个计算节点
• $ docker-compose -f nova-compute-network.yml up –d
• 启动单个服务
– $ docker run --name glance-api -d --net=host --env-file=openstack.env kollaglue/fedora-rdo-
glance-api:latest
Kolla:Docker+OpenStack
• nova-api-compute-network.yml
如何选择
• Nova Docker Driver
– 将以前的VM workload迁移到Docker Container
– 轻量的虚拟化技术
– 一个很典型的例子是Sahara通过heat调用nova docker driver创建hadoop集群
• Heat Docker Driver
– 简单通过OpenStack测试Docker的一些高级功能
– 小规模Docker集群部署
• Magnum
– 对K8S,CoreOS,Swarm不熟,有一定的OpenStack经验
– 大规模Docker集群管理,集群需要self-healing的能力
– 多租户
– 混合云部署Docker
– 使用Docker的一些高级功能,如“exec”,“link”等等
• Murano
– 想通过K8S来管理Docker
– 混合云部署Docker
• Kolla
– 简化OpenStack安装部署和升级
OpenStack + Docker: 资源管理改进
• Docker & IaaS
– Docker的出现使得IaaS的计算密度进一步提升
– 密集型计算对资源管理和资源调度提出了跟高
的要求
• 如何提高资源利用率??
层级的多租户管理
• 层级的多租户管理(kilo)
– Nova在Kilo版会加入最基本的层级多租户的支
持
– 只有资源独占(最简单的资源规划)
– 不同租户之间不能共享资源
Dept-1:hard_limit=300,used=25,reserved=15,allocated=250
ORG:hard_limit=1000,used=100,reserved=100,allocated=700
Dept-2: hard_limit=400,used=25,reserved=25,allocated=300
Team-11:hard_limit=100,used=50,reserved=50,allocated=0
Team-12:hard_limit=150,used=25,reserved=25,allocated=0
Team-21: hard_limit=100,used=25,reserved=25,allocated=0
Team-22:hard_limit=200,used=50,reserved=50,allocated=0
Kilo的多租户模式
• 租户T1和T2各独占8个资源
R
t1 t2
Total = 16
T2
T1
alloc 4
alloc 12
OpenStack
T1 owns 8
T2 owns 8
8 8
free 4
T1 gets 4
return 4
ownership policy
T2 owns 8T2 gets 8
return 8
ownership policy
Resource Plan
改进的层级多租户管理
• 层级的多租户管理未来
– 同一层级租户之间的资源可以借入/借出
– 同一层级租户之间的资源可以共享
多租户借入/借出模式
• 租户T1和T2各独占8 个资源
• 租户T2可以从租户T1借入4个资源
R
T1 T2
Total = 16
T2
T1
alloc 4
alloc 12
8
T1 owns 8
T2 owns 8
8
4
free 4
T1 gets 4
return 4
ownership policy
T2 owns 8T2 gets 8
return 8
ownership policy
return 4
lent 4 to T2 borrow/lend policy
Resource Plan
Future OpenStack
多租户共享模式
• 租户T1和T2不独占任何资
• T1和T2共享所有资源,并且有相同的共享
比例。
R
T1 T2
Total = 16
T2
T1
alloc 4
alloc 12
1:1
T1 deserves 8
T2 deserves 8
T1 uses 4
return 4
sharing policy - 1
free 4
T2 deservesT2 uses 8
return 8
sharing policy - 1
T2 uses 4
return 4
sharing policy - 2
Resource Plan
Future OpenStack
Thanks
Magnum Need Your Contribution!

Weitere ähnliche Inhalte

Was ist angesagt?

Train.IO 【第六期-OpenStack 二三事】
Train.IO 【第六期-OpenStack 二三事】Train.IO 【第六期-OpenStack 二三事】
Train.IO 【第六期-OpenStack 二三事】inwin stack
 
七牛云存储详解
七牛云存储详解七牛云存储详解
七牛云存储详解niuer7
 
跳过私有云建设的“坑” 私有云建设经验教训以及IBM PMC2.0 简介
跳过私有云建设的“坑” 私有云建设经验教训以及IBM PMC2.0 简介跳过私有云建设的“坑” 私有云建设经验教训以及IBM PMC2.0 简介
跳过私有云建设的“坑” 私有云建设经验教训以及IBM PMC2.0 简介Hardway Hou
 
云存储与虚拟化分论坛 基于云计算的海量数据挖掘
云存储与虚拟化分论坛 基于云计算的海量数据挖掘云存储与虚拟化分论坛 基于云计算的海量数据挖掘
云存储与虚拟化分论坛 基于云计算的海量数据挖掘Riquelme624
 
Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Xu Wang
 
Build your own kubernetes apiserver and resource type
Build your own kubernetes apiserver and resource typeBuild your own kubernetes apiserver and resource type
Build your own kubernetes apiserver and resource typeinwin stack
 
基于虚拟化平台创建企业私有云
基于虚拟化平台创建企业私有云基于虚拟化平台创建企业私有云
基于虚拟化平台创建企业私有云ITband
 
Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)
Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)
Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)YIYANG Lin
 
云的基石:Net app存储平台
云的基石:Net app存储平台云的基石:Net app存储平台
云的基石:Net app存储平台ITband
 
Iaa s管理平台的规划与研发 社区
Iaa s管理平台的规划与研发 社区Iaa s管理平台的规划与研发 社区
Iaa s管理平台的规划与研发 社区benbenhappy
 
Openstack nova
Openstack novaOpenstack nova
Openstack novaYong Luo
 
Kyligence Leverages Alluxio to Accelerate OLAP in the Cloud
Kyligence Leverages Alluxio to Accelerate OLAP in the CloudKyligence Leverages Alluxio to Accelerate OLAP in the Cloud
Kyligence Leverages Alluxio to Accelerate OLAP in the CloudAlluxio, Inc.
 
Build the Blockchain as service (BaaS) Using Ethereum on Kubernetes
Build the Blockchain as service (BaaS) Using Ethereum on KubernetesBuild the Blockchain as service (BaaS) Using Ethereum on Kubernetes
Build the Blockchain as service (BaaS) Using Ethereum on Kubernetesinwin stack
 
Docker tutorial
Docker tutorialDocker tutorial
Docker tutorialazole Lai
 
Opening Remarks - Pulsar Summit Asia 2021
Opening Remarks - Pulsar Summit Asia 2021Opening Remarks - Pulsar Summit Asia 2021
Opening Remarks - Pulsar Summit Asia 2021StreamNative
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerChris Chen
 
Cloudstack dev/user sharing
Cloudstack dev/user sharingCloudstack dev/user sharing
Cloudstack dev/user sharinggavin_lee
 
企業導入微服務實戰 - updated
企業導入微服務實戰 - updated企業導入微服務實戰 - updated
企業導入微服務實戰 - updatedPaul Chao
 

Was ist angesagt? (20)

Train.IO 【第六期-OpenStack 二三事】
Train.IO 【第六期-OpenStack 二三事】Train.IO 【第六期-OpenStack 二三事】
Train.IO 【第六期-OpenStack 二三事】
 
七牛云存储详解
七牛云存储详解七牛云存储详解
七牛云存储详解
 
跳过私有云建设的“坑” 私有云建设经验教训以及IBM PMC2.0 简介
跳过私有云建设的“坑” 私有云建设经验教训以及IBM PMC2.0 简介跳过私有云建设的“坑” 私有云建设经验教训以及IBM PMC2.0 简介
跳过私有云建设的“坑” 私有云建设经验教训以及IBM PMC2.0 简介
 
云存储与虚拟化分论坛 基于云计算的海量数据挖掘
云存储与虚拟化分论坛 基于云计算的海量数据挖掘云存储与虚拟化分论坛 基于云计算的海量数据挖掘
云存储与虚拟化分论坛 基于云计算的海量数据挖掘
 
Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界
 
Build your own kubernetes apiserver and resource type
Build your own kubernetes apiserver and resource typeBuild your own kubernetes apiserver and resource type
Build your own kubernetes apiserver and resource type
 
基于虚拟化平台创建企业私有云
基于虚拟化平台创建企业私有云基于虚拟化平台创建企业私有云
基于虚拟化平台创建企业私有云
 
Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)
Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)
Kubeflow Machine Learning Toolkit for Kubernetes (SDN x Cloud Native Meetup #4)
 
云的基石:Net app存储平台
云的基石:Net app存储平台云的基石:Net app存储平台
云的基石:Net app存储平台
 
Iaa s管理平台的规划与研发 社区
Iaa s管理平台的规划与研发 社区Iaa s管理平台的规划与研发 社区
Iaa s管理平台的规划与研发 社区
 
Openstack nova
Openstack novaOpenstack nova
Openstack nova
 
Kyligence Leverages Alluxio to Accelerate OLAP in the Cloud
Kyligence Leverages Alluxio to Accelerate OLAP in the CloudKyligence Leverages Alluxio to Accelerate OLAP in the Cloud
Kyligence Leverages Alluxio to Accelerate OLAP in the Cloud
 
Build the Blockchain as service (BaaS) Using Ethereum on Kubernetes
Build the Blockchain as service (BaaS) Using Ethereum on KubernetesBuild the Blockchain as service (BaaS) Using Ethereum on Kubernetes
Build the Blockchain as service (BaaS) Using Ethereum on Kubernetes
 
Docker tutorial
Docker tutorialDocker tutorial
Docker tutorial
 
Openstack网络规划
Openstack网络规划Openstack网络规划
Openstack网络规划
 
Opening Remarks - Pulsar Summit Asia 2021
Opening Remarks - Pulsar Summit Asia 2021Opening Remarks - Pulsar Summit Asia 2021
Opening Remarks - Pulsar Summit Asia 2021
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Cloudstack dev/user sharing
Cloudstack dev/user sharingCloudstack dev/user sharing
Cloudstack dev/user sharing
 
Openstack的研究与实践
Openstack的研究与实践Openstack的研究与实践
Openstack的研究与实践
 
企業導入微服務實戰 - updated
企業導入微服務實戰 - updated企業導入微服務實戰 - updated
企業導入微服務實戰 - updated
 

Ähnlich wie OpenStack and Docke Integration V6

OpenStack Resource Scheduling
OpenStack Resource SchedulingOpenStack Resource Scheduling
OpenStack Resource SchedulingGuangya Liu
 
AKS 與開發人員體驗 (Kubernetes 大講堂)
AKS 與開發人員體驗 (Kubernetes 大講堂)AKS 與開發人員體驗 (Kubernetes 大講堂)
AKS 與開發人員體驗 (Kubernetes 大講堂)Will Huang
 
Azure Container Service 使用 DC / OS 管理 docker 容器
Azure Container Service 使用 DC / OS 管理 docker 容器Azure Container Service 使用 DC / OS 管理 docker 容器
Azure Container Service 使用 DC / OS 管理 docker 容器Ch Rick
 
99cloud training material
99cloud training material99cloud training material
99cloud training materialLiang Bo
 
Windows Container 101: dotNET, Container, Kubernetes
Windows Container 101: dotNET, Container, KubernetesWindows Container 101: dotNET, Container, Kubernetes
Windows Container 101: dotNET, Container, KubernetesWill Huang
 
Docker一期培训
Docker一期培训Docker一期培训
Docker一期培训青帅 常
 
kubernetes入门培训
kubernetes入门培训kubernetes入门培训
kubernetes入门培训bobo45284
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术团队
 
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索liu sheng
 
Track2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewaveTrack2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewaveOpenCity Community
 
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The HoodLarge-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The HoodLei (Harry) Zhang
 
Docker進階探討
Docker進階探討Docker進階探討
Docker進階探討國昭 張
 
Private cloud and open stack
Private cloud and open stackPrivate cloud and open stack
Private cloud and open stackzhangxiao2016
 
OpenStack Introduction Ecosystem
OpenStack Introduction EcosystemOpenStack Introduction Ecosystem
OpenStack Introduction EcosystemNUTC, imac
 
企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養Philip Zheng
 
Docker+mesos安装最佳实践
Docker+mesos安装最佳实践Docker+mesos安装最佳实践
Docker+mesos安装最佳实践3908282
 
为10g rac cluster添加节点
为10g rac cluster添加节点为10g rac cluster添加节点
为10g rac cluster添加节点maclean liu
 
雲端技術發展趨勢研討會會
雲端技術發展趨勢研討會會雲端技術發展趨勢研討會會
雲端技術發展趨勢研討會會geego
 

Ähnlich wie OpenStack and Docke Integration V6 (20)

OpenStack Resource Scheduling
OpenStack Resource SchedulingOpenStack Resource Scheduling
OpenStack Resource Scheduling
 
AKS 與開發人員體驗 (Kubernetes 大講堂)
AKS 與開發人員體驗 (Kubernetes 大講堂)AKS 與開發人員體驗 (Kubernetes 大講堂)
AKS 與開發人員體驗 (Kubernetes 大講堂)
 
Azure Container Service 使用 DC / OS 管理 docker 容器
Azure Container Service 使用 DC / OS 管理 docker 容器Azure Container Service 使用 DC / OS 管理 docker 容器
Azure Container Service 使用 DC / OS 管理 docker 容器
 
99cloud training material
99cloud training material99cloud training material
99cloud training material
 
Windows Container 101: dotNET, Container, Kubernetes
Windows Container 101: dotNET, Container, KubernetesWindows Container 101: dotNET, Container, Kubernetes
Windows Container 101: dotNET, Container, Kubernetes
 
Docker一期培训
Docker一期培训Docker一期培训
Docker一期培训
 
kubernetes入门培训
kubernetes入门培训kubernetes入门培训
kubernetes入门培训
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台
 
Docker實務
Docker實務Docker實務
Docker實務
 
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
 
Track2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewaveTrack2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewave
 
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The HoodLarge-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The Hood
 
Hello openstack 2014
Hello openstack 2014Hello openstack 2014
Hello openstack 2014
 
Docker進階探討
Docker進階探討Docker進階探討
Docker進階探討
 
Private cloud and open stack
Private cloud and open stackPrivate cloud and open stack
Private cloud and open stack
 
OpenStack Introduction Ecosystem
OpenStack Introduction EcosystemOpenStack Introduction Ecosystem
OpenStack Introduction Ecosystem
 
企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養
 
Docker+mesos安装最佳实践
Docker+mesos安装最佳实践Docker+mesos安装最佳实践
Docker+mesos安装最佳实践
 
为10g rac cluster添加节点
为10g rac cluster添加节点为10g rac cluster添加节点
为10g rac cluster添加节点
 
雲端技術發展趨勢研討會會
雲端技術發展趨勢研討會會雲端技術發展趨勢研討會會
雲端技術發展趨勢研討會會
 

Mehr von Guangya Liu

IBM Cloud Private Introduction
IBM Cloud Private IntroductionIBM Cloud Private Introduction
IBM Cloud Private IntroductionGuangya Liu
 
Docker volume-isolator-in-mesos
Docker volume-isolator-in-mesosDocker volume-isolator-in-mesos
Docker volume-isolator-in-mesosGuangya Liu
 
Open source-summit-k8 s-mesos-v7
Open source-summit-k8 s-mesos-v7Open source-summit-k8 s-mesos-v7
Open source-summit-k8 s-mesos-v7Guangya Liu
 
Mesos vs Kubernetes: What We Learned Working With Both For Chinese Customers
Mesos vs Kubernetes: What We Learned Working With Both For Chinese CustomersMesos vs Kubernetes: What We Learned Working With Both For Chinese Customers
Mesos vs Kubernetes: What We Learned Working With Both For Chinese CustomersGuangya Liu
 
Ibm dnt-dcos-v9-3
Ibm dnt-dcos-v9-3Ibm dnt-dcos-v9-3
Ibm dnt-dcos-v9-3Guangya Liu
 
Mesos con 2015 recap meetup-v2
Mesos con 2015 recap meetup-v2Mesos con 2015 recap meetup-v2
Mesos con 2015 recap meetup-v2Guangya Liu
 
Pairs OpenStack Summit Summary
Pairs OpenStack Summit SummaryPairs OpenStack Summit Summary
Pairs OpenStack Summit SummaryGuangya Liu
 
Organizing open stack-meetup-in-china
Organizing open stack-meetup-in-chinaOrganizing open stack-meetup-in-china
Organizing open stack-meetup-in-chinaGuangya Liu
 

Mehr von Guangya Liu (9)

Istio简介
Istio简介Istio简介
Istio简介
 
IBM Cloud Private Introduction
IBM Cloud Private IntroductionIBM Cloud Private Introduction
IBM Cloud Private Introduction
 
Docker volume-isolator-in-mesos
Docker volume-isolator-in-mesosDocker volume-isolator-in-mesos
Docker volume-isolator-in-mesos
 
Open source-summit-k8 s-mesos-v7
Open source-summit-k8 s-mesos-v7Open source-summit-k8 s-mesos-v7
Open source-summit-k8 s-mesos-v7
 
Mesos vs Kubernetes: What We Learned Working With Both For Chinese Customers
Mesos vs Kubernetes: What We Learned Working With Both For Chinese CustomersMesos vs Kubernetes: What We Learned Working With Both For Chinese Customers
Mesos vs Kubernetes: What We Learned Working With Both For Chinese Customers
 
Ibm dnt-dcos-v9-3
Ibm dnt-dcos-v9-3Ibm dnt-dcos-v9-3
Ibm dnt-dcos-v9-3
 
Mesos con 2015 recap meetup-v2
Mesos con 2015 recap meetup-v2Mesos con 2015 recap meetup-v2
Mesos con 2015 recap meetup-v2
 
Pairs OpenStack Summit Summary
Pairs OpenStack Summit SummaryPairs OpenStack Summit Summary
Pairs OpenStack Summit Summary
 
Organizing open stack-meetup-in-china
Organizing open stack-meetup-in-chinaOrganizing open stack-meetup-in-china
Organizing open stack-meetup-in-china
 

OpenStack and Docke Integration V6

  • 2. 自我介绍 • 刘光亚 • IBM西安云计算开发部架构师 – 分布式计算 – 资源管理 – 容器技术 – 系统集成 • OpenStack ATC – Magnum (OpenStack Docker Container Service) Core Reviewer – Nova – HEAT – Cinder – Neutron
  • 3. OpenStack & Docker PaaS Application Centric IaaS Resource Centric 开放的架构
  • 4. OpenStack As Layers Nova Glance Keystone 计算 镜像 认证 Layer1: 基础设施层 Cinder Swift Neutron 块存储 对象存储 网络 Layer2: 扩展基础设施层 Ceilometer Horizon Barbican 计量 用户界面 Layer3: 可选的增强特性 Heat Magnum Sahara Orchestration CaaS Hadoop Layer4: 消费型服务 Designate Ironic DNS 裸机部署 秘钥管理 Murano 应用目录 Solum 应用开发 Kolla: Container Everything
  • 5. OpenStack As Layers Nova Glance Keystone 计算 镜像 认证 Layer1: 基础设施层 Cinder Swift Neutron 块存储 对象存储 网络 Layer2: 扩展基础设施层 Ceilometer Horizon Barbican 计量 用户界面 Layer3: 可选的增强特性 Heat Magnum Sahara Orchestration CaaS Hadoop Layer4: 消费型服务 Designate Ironic DNS 裸机部署 秘钥管理 Murano 应用目录 Solum 应用开发 Kolla: Container Everything
  • 6. OpenStack As Layers Nova Glance Keystone 计算 镜像 认证 Layer1: 基础设施层 Cinder Swift Neutron 块存储 对象存储 网络 Layer2: 扩展基础设施层 Ceilometer Horizon Barbican 计量 用户界面 Layer3: 可选的增强特性 Heat Magnum Sahara Orchestration CaaS Hadoop Layer4: 消费型服务 Designate Ironic DNS 裸机部署 秘钥管理 Murano 应用目录 Solum 应用开发 Kolla: Container Everything
  • 7. Nova Docker Driver • Nova集成 – 把Docker作为一种新的Hypervisor来处 理,作为一个nova compute的driver, 便于集成 – https://github.com/stackforge/nova- docker • 优点 – 通过nova scheduler来进行资源调度 – 通过Heat来管理部署运行,服务发现 和扩容缩容,所有的docker container 作为VM来处理 – 通过Neutron来管理网络,GRE,vLan, VxLan等等,实现网络隔离。 – 支持多租户,为不同租户设置不同的 quota • 缺点:丢失Docker的高级的特性 – 容器关联 – 端口映射 – 不同网络模式的配置 • Host • Container
  • 8. HEAT Docker Driver • HEAT集成 – 添加了一个新的HEAT Resource: DockerInc::Docker::Container – HEAT docker driver直接与 docker server交互 – 没有和nova,cinder, neutron等交互 • 优点 – 完全兼容docker API – Docker所有参数可以在heat 的template进行设置 • 缺点 – 没有资源调度 – 没有网络管理
  • 9. HEAT Docker Driver • 典型应用场景 https://github.com/MarouenMechtri/Docker-containers-deployment-with-OpenStack-Heat
  • 10. Magnum: Container As A Service https://github.com/openstack/magnum/blob/master/specs/containers-service.rst
  • 11. Magnum Roadmap • Magnum Conductor 水平扩展 – 提高系统处理client请求的性能 • 原生Docker集群调度管理 – Swarm, Gantt, Mesos • 原生Docker集群网络管理 – 在Docker服务器上通过--net=host模式部署docker container启动L2 Agent • Magnum Notifications – 资源状态跟踪 – 监控 – 第三方集成 • K8S深度集成 – Mangum提供python-k8sclient和K8S集成 https://blueprints.launchpad.net/magnum
  • 12. Murano: Application Catalog • Murano简介 – 在OpenStack基础上提供应用目录服务 – 应用开发人员或者云管理员可以通过Solum开 发应用并通过Murano发布这些应用 – 用户挑选自己需要的应用服务,通过应用服务 组合构建自己的应用。 – Murano通过HEAT部署应用 – Murano通过Ceilometer触发自动扩展 – Kubernetes现在已经作为Murano的一个服务
  • 13. Murano: Application Catalog • Murano应用一键部署
  • 14. Murano Integrate With Kubernetes • Murano一键部署 设置环境名,例 如 KubernetsHttpd 1)创建K8S集群模板 2)创建Pod模板 3)创建Container模板 1)通过heat创建K8S 集群 2)通过K8S创建Pod
  • 16. Kolla:Docker+OpenStack • Kolla简介 – 使用Docker容器部署OpenStack服务 – 提供所有OpenStack服务的镜像 – 基于docker-compose – 所有的container采用--net=host模式启动 • 为什么需要Kolla – 简化OpenStack的安装部署和回滚 – 按照组件/服务对OpenStack进行升级/回滚
  • 17. Kolla:Docker+OpenStack • 创建一个OpenStack集群 – 启动一个管理节点 • $ ./kolla/tools/start – 启动一个计算节点 • $ docker-compose -f nova-compute-network.yml up –d • 启动单个服务 – $ docker run --name glance-api -d --net=host --env-file=openstack.env kollaglue/fedora-rdo- glance-api:latest
  • 19. 如何选择 • Nova Docker Driver – 将以前的VM workload迁移到Docker Container – 轻量的虚拟化技术 – 一个很典型的例子是Sahara通过heat调用nova docker driver创建hadoop集群 • Heat Docker Driver – 简单通过OpenStack测试Docker的一些高级功能 – 小规模Docker集群部署 • Magnum – 对K8S,CoreOS,Swarm不熟,有一定的OpenStack经验 – 大规模Docker集群管理,集群需要self-healing的能力 – 多租户 – 混合云部署Docker – 使用Docker的一些高级功能,如“exec”,“link”等等 • Murano – 想通过K8S来管理Docker – 混合云部署Docker • Kolla – 简化OpenStack安装部署和升级
  • 20. OpenStack + Docker: 资源管理改进 • Docker & IaaS – Docker的出现使得IaaS的计算密度进一步提升 – 密集型计算对资源管理和资源调度提出了跟高 的要求 • 如何提高资源利用率??
  • 21. 层级的多租户管理 • 层级的多租户管理(kilo) – Nova在Kilo版会加入最基本的层级多租户的支 持 – 只有资源独占(最简单的资源规划) – 不同租户之间不能共享资源 Dept-1:hard_limit=300,used=25,reserved=15,allocated=250 ORG:hard_limit=1000,used=100,reserved=100,allocated=700 Dept-2: hard_limit=400,used=25,reserved=25,allocated=300 Team-11:hard_limit=100,used=50,reserved=50,allocated=0 Team-12:hard_limit=150,used=25,reserved=25,allocated=0 Team-21: hard_limit=100,used=25,reserved=25,allocated=0 Team-22:hard_limit=200,used=50,reserved=50,allocated=0
  • 22. Kilo的多租户模式 • 租户T1和T2各独占8个资源 R t1 t2 Total = 16 T2 T1 alloc 4 alloc 12 OpenStack T1 owns 8 T2 owns 8 8 8 free 4 T1 gets 4 return 4 ownership policy T2 owns 8T2 gets 8 return 8 ownership policy Resource Plan
  • 24. 多租户借入/借出模式 • 租户T1和T2各独占8 个资源 • 租户T2可以从租户T1借入4个资源 R T1 T2 Total = 16 T2 T1 alloc 4 alloc 12 8 T1 owns 8 T2 owns 8 8 4 free 4 T1 gets 4 return 4 ownership policy T2 owns 8T2 gets 8 return 8 ownership policy return 4 lent 4 to T2 borrow/lend policy Resource Plan Future OpenStack
  • 25. 多租户共享模式 • 租户T1和T2不独占任何资 • T1和T2共享所有资源,并且有相同的共享 比例。 R T1 T2 Total = 16 T2 T1 alloc 4 alloc 12 1:1 T1 deserves 8 T2 deserves 8 T1 uses 4 return 4 sharing policy - 1 free 4 T2 deservesT2 uses 8 return 8 sharing policy - 1 T2 uses 4 return 4 sharing policy - 2 Resource Plan Future OpenStack
  • 26. Thanks Magnum Need Your Contribution!