陆鸿斌&乔立勇 - OpenStack容器相关项目的介绍

2020-02-27 174浏览

  • 1.Topic:OpenStack容器相关项目介绍 Speaker:陆鸿斌 & 乔立勇
  • 2.议程 ● 容器与虚拟化技术的对比 ● OpenStack上和容器相关的项目有哪些? Kolla,Solum,Kuryr,Magnum,Murano,Nova- docker,Nova-lxd,libvirt-lxc,Heat docker plugin, Higgins(Zun) ● 其他与OpenStack 和容器相关的项目,Clear Container, Ciao ● 容器与虚拟化融合的发展趋势
  • 3.容器 VS 虚拟化(1) 容器 虚拟化 原理 Linux Cgroup,Linux 模拟硬件, 命名空间等隔离技术 完整的软件栈 资源使用情况 高效共享资源,紧耦 占用更多资源 更重, 合 有资源损耗(5%) 灵活性&安全性 不可迁移,隔离性, 可在线热迁移, 网络性能有待提高 隔离性好
  • 4.容器 VS 虚拟化(2) 容器 适合运行临时性任务 虚拟化 持久性任务 1日志分析 2大数据计算 NFV web服务器,微服务 数据库 IoT/软件打包部署 异构性OS,虚拟桌面,其 他独占的服务器
  • 5.OpenStack中和容器有关的项目 Kolla,Solum Magnum,Murano Kuryr,Nova-docker,Nova-lxd,libvirt-lxc, Heat docker plugin Zun
  • 6.Kolla(1) ● 14年9月成立 ● 目标:使用Docker和ansible提供生产级的OpenStack各 服务的打包和部署的功能 • docker 提供镜像的build • ansible 提供部署,升级 • 使用kubernete/mesos 部署镜像 ● 受益:简化部署,简化运维,提升devops,可重现,可 依赖,更快(对比devstack 14mins ~ 9 mins)
  • 7.Kolla(2)功能 容器化了以下组件 支持Heat Vagrant 开发环境 提供Ansible 部署(playbooks)
  • 8.Kolla架构
  • 9.kolla(HA)
  • 10.Kolla 实践 ● kolla-genpwd ● * kolla-build --base [ubuntu centos fedora oraclelinux] --type [binary source] ● kolla-ansible prechecks -i● kolla-ansible pull -i● kolla-ansible deploy -i● kolla-ansible post-deploy ● kolla/tools/init-runonce
  • 11.Solum 目标: 提供OpenStack中持续集成/开发方案 OpenStack的原生方案,利用OpenStack中的各 种服务,面向开发者提供编程语言透明的持 续集成方案。
  • 12.Solum 系统架构
  • 13.Solum 实践 ● solum languagepack create● solum app create --app-file[--param-file param_file] ● languagepack -> docker base image ● app -> heat and docker container
  • 14.kuryr(1) 一个让Docker能够使用Neutron服务的插 件 ● Neutron Docker CNM ● 目标是支持各种容器编排引擎eg:Kubernetes, Mesos, Docker Swarm ● 与 Neutron, Magnum, Kolla 协作工作
  • 15.kuryr(2) $ sudo docker network create --driver=kuryr \ --ipam-driver=kuryr \ --subnet 10.0.0.0/16 \ --gateway 10.0.0.1\ --ip-range 10.0.0.0/24 foo $ sudo docker run --net=foo -itd --name=container1 busybox
  • 16.kuryr(3)
  • 17.Magnum(1) 14年年底成立 集成容器编排引擎(COE),最大限度地利用OpenStack中 的各种服务提供在OpenStack上的容器编排引擎管理服务: ● 虚拟机里跑容器 ● 物理机里跑容器 ●COE:Swarm kubernete mesos DC/OS
  • 18.Magnum架构 Magnum Api bay baymodel An bay instance Magnum Conductor Heat templates Heat Nova Neutron Cinder Glance public master private minion minion 18 18
  • 19.Users 1 Keystone 2 Magnum Barbican 3 4 Heat Magnum 控制流 7 public 6 master private 5 minion minion 8 1. 用户请求创建bay 2. 生成bay专用的账号 (Keystone trust & trustee) 3. 生成根密匙和根证书,储存 在Barbican 4. 用Heat模板创建bay 5. Heat创建stack 6. 各个节点请求Magnum签署 证书 7. 用户请求Magnum签署证书, 然后用密匙访问bay的API 8. 根据具体的请求,bay用 Keystone trust访问 OpenStack其他的服务 Swift Neutron Cinder 19
  • 20.Magnum UI
  • 21.Murano 目标: 提供OpenStack中的应用目录服务 提供各种应用和服务的发布和生命周期管理,并提供 UI和API. 把任何事情都定义为应用 YAQL语言模板定义应用
  • 22.Murano特性 应用目录: ● 浏览, 过滤, 依赖 应用目录管理: ● 从zip/URL/应用仓库加载,修改更新,日志跟踪 应用生命周期管理: ● 配置集成,HA和自动扩容,隔离
  • 23.Murano架构
  • 24.Murano UI
  • 25.Nova-docker/lxc/lxd ● 用户通过Nova的API使用 容器 ● Nova调用drivers与容器 交互 ● 容器镜像储存在Glance ● 优点:充分利用Nova的 功能 ● 缺点:不能使用原生的 容器API,因此使用容器 时受到限制
  • 26.Heat-docker ● 提供一个Heat的资源创 建Docker容器 ● 需要提供Docker daemon 的endpoint,作为参数 ● 优点:实现Docker容器与 OpenStack其他资源的混 合编排 ● 缺点:只提供一小部分 Docker的功能 heat_template_version:2013-05-23description:Test templateresources:apache:type:DockerInc::Docker::Containerproperties:image:marouen/apache port_specs:- 80 docker_endpoint:http://host:2375
  • 27.Zun(1) ● Zun (之前叫Higgins),提供OpenStack的容器服务 ● 提供OpenStack原生的API管理容器,计划支持多 种容器技术 • Containerruntimes:Docker, Rkt, Clear Conainer, etc. •COEs:Kubernetes, Docker Swarm, etc.
  • 28.Zun(2) Murano Magnum Users Nova driver 3 Zun 1 K8s VM Swarm Mesos VM VM VM Baremetal 2 Built-in COE Container 1. 为各种容器编排引擎提 供API入口 2. 提供原生的COE作为 reference implementation 3. 提供nova的driver,代 替nova-docker将容器 接入Nova
  • 29.Zun(3) 在一个的平台上管理各种计 算资源:容器,虚拟机,物 理机 ● 统一的网络:Neutron ● 统一的储存池:Cinder ● 统一的镜像创库:Glance ● 统一的UI:Horizon ● ... Glance Horizon Images Container/ VM/ Baremetal Networks UI Volumes Neutron Cinder
  • 30.Clear container & Ciao Clear container 使用了Intel VT特性,基于KVM技术的容器技术。通 过优化现有的代码,移除冗余组件,实现在KVM虚 拟机里运行容器的技术。 •启动速度小于150毫秒 •内存开销大约18M-20M
  • 31.Clear container的关键优化 ● 快速的轻量级 hypervisor kvm-tool ● 优化的kernel ● 优化的systemd ● 使用kernel 4.0 的DAX技术实现文件系统到VM的快 速访问(0拷贝),降低容器内存使用情况。 ● KSM技术允许VM/容器安全地共享内存页面
  • 32.Clear container 架构 v1.0 Clear Containers V1.0 Host User mini-OS kernel memcpy Host Krnl mmap mini-OS image shmem Client CC mini-OS kernel DAX user workload mini-OS based on highly optimized Clear Linux distribution. Customers can enhance and modify as needed Terminal chroot Clear Containers can be integrated into existing container infrastructures like Docker and rkt Client image Container Management Infrastructure kvmtool Terminal Client rootfs access optimized through use of DAX and SHMEM 9p, DAX etc. kvm virtio Client image workload Customers can optionally invoke their own images over the mini- OS
  • 33.CIAO "Cloud Integrated Advanced Orchestrator". 目标是提供快速,简单,安全,适合大规模部署的 云计算管理系统。 ● Go ● SSNTP(简单安全节点传输协议) ● 支持VM,容器,裸机(workload) ● 集成OpenStack的服务
  • 34.OpenStack VS Ciao
  • 35.Ciao
  • 36.容器与OpenStack的结合总结
  • 37.容器与OpenStack的结合(1) ❖ OpenStack管理的虚拟机/物理及上跑容 器(Magnum, Murano, Solum) • 优点: ■ 资源有效共享统一由OpenStack Nova管理 • 缺点: ■ VM跑容器的性能损失 ■ 容器要解决网络的性能 ■ 容器的存储
  • 38.容器与OpenStack的结合(2) ❖ 各种COEs管理的主机上用容器跑OpenStack 服务 (k8s-kolla,mesos-kolla) • 优点: ■ 容器性能保障 ■ 更高效地利用资源 • 缺点: ■ 容器隔离性 ■ VM的网络,存储 ■ OpenStack 服务的复杂性
  • 39.容器与OpenStack的结合(3) ❖ 同时管理容器和虚拟机 (Nova-docker, heat-docker, Nova-lxc/lxd, Nova+Zun) • 优点: ■ 简单 ■ 整合了现有的资源,如网络,存储 • 缺点: ■ 不利于计算资源共享
  • 40.Q&A Thanks! Placeholder Footer Copy / BU Logo or Name Goes Here