2015 openstack技术大会-openstack与docker集成


解析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 128 T1 owns 8 T2 owns 8 84 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!
还剩25页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

tcwqg

贡献于2017-01-03

下载需要 10 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf