openstack vs docker

docker 容器方式单机部署 openstack(arm64 环境) DevStack文档中提到的lxc container部署方式,在arm64环境下会出现各种报错,可能是 openstack版本更新太快,而DevStack的脚本更新并未跟上。笔者在使用docker部署devstack的过程,通过解决报错问题,加深了openstack各组件的理解。 阅读详情

openstack在硬件资源的管理方面已经比较成熟了:

  • 单机的虚拟化技术优化

  1. 计算:kvm用的最多,已经非常成熟了;目前的一些重点在虚机热迁移的优化上。
  2. 存储/网络:SR-IOV或者vhost-net/vhost-block已经可以把存储和网络IO的的虚拟化算好从几年前的40-50%减少到20%;目前有人在尝试把hadoop之类IO密集型应用部署到openstack上。

  • SDS:目前看无论openstack的厂商,还是用户本身,对ceph热情很高,ceph版本本身的稳定性已经可以在生产上跑了(ceph社区目前把重点放在了文件系统上);缺点是ceph软件本身需要根据自己的硬件配置做深度的perfomance tune;以笔者自己的经验看用户不太放心把重要数据放在虚机的数据盘上。数据库还是在物理环境的比较多。
  • SDN:各种传统的网络设备厂商的硬件SDN方案到OpenvSwitch的稳定和强大的openflow协议支持。传统的负载均衡、防火墙硬件厂商也纷纷为neutron提供plugin,以后配置负载均衡和防火墙开端口,都可以在OpenStack上进行;openstack的SDN对于私有云来说足够了,做vlan隔离方案已经比较成熟了;多租户的公有云方案再推出了DVR的方案之后逐步演进把;前段跟一个阿里前辈交流过,neutron缺的东西,mac nat,vpc之类,DPDK,sr-iov之类,阿里云应该已经解决了;其他小厂商也是用的软的SDN,在openflow的流表控制方面,还不太成熟。
  • 编排:heat和murano发展还是比较快打,跟docker比yaml编写过于复杂,一是编写时需要指定各种物理资源,必须熟悉整套openstack环境才可以;二是配置操作的各种shell脚本,例如yum之类,需要写在编排的yaml里面,而对于docker来说只要写在dockerfile里面就行了,不需要写到yaml里面。

与openstack对比,Docker则在应用程序的部署和编排方面具有较大的优势;

  • 物理机/虚机环境下,自动化部署一个分布式系统是一件很专业和复杂的事情。需要借助puppet/salt/ansible的自动化部署工具,通过远程执行各种rpm install,sytemctl、设置主机名,免密码登录等等复杂操作。很多的复杂系统,专门成立一个子项目来解决自动化部署问题。
  • docker解决了包冲突问题,不需要关心是ubuntu还是centos,可以在一个centos的host的启动一个ubuntu容器编译ubuntu的包;如果比较激进,cents也不要了,coreOS+rocket,国内用coreOS还比较少
  • 对于docker而言,启动一个一个容器就是一个应用的运行时环境,这个应用的启动参数,可以用环境变量、命令行参数、配置文件等多种方式传给应用,这些东西既可以固化在dockerfile里面,可以通过编排系统在容器启动时动态生成;
  • 有了docker后,复杂的配置工作可以通过dockerfile和容器编排引擎来做;静态配置写到dockerfile里面,动态配置在容器启动时从编排引擎下发给容器的环境变量。
  • 分布式系统的自动化部署的容器化,已经成为一个趋势。现在openstack自己的部署也向容器化发展。
  • 有兴趣的可以看下rancher,部署起来非常方便,不需要关心自己是部署在公有云还是私有云还是物理机上。

Docker的缺点

  1. 主要是网络方案不太成熟。有个朋友说docker把各种SDN方案引进之后,搞的跟openstack一样复杂。Docker网络比较困难的是实现容器环境和原来的物理环境的双向三层互通、隔离和QoS保障;目前没有特别好的方案,需要根据自己的需求、应用特点、和网络设备环境和人员配置进行折中选择。
  2. 另外一个缺点是太火了乃至于社区内部分家了,hypervisor有了fork,网络接口也有了fork(com/cni),调度和编排引擎竟然有三个(算上rancher/cattle就更多),组网模型则有n个(neutron+ovs,calico,flannel,swarm vxlan,contive,weave,cattle/ipsec,nat映射,物理三层交换机等等),新手绝对是选择恐惧症。
  3. cgroup还有些坑,比如内核中软件资源的隔离,比如文件描述符,inode,slab内存等,低版本内核和发行版支持不太好,coreOS没太研究,可能好些。
  4. docker registry的管理功能比较弱,查个镜像的版本号需要自己写脚本,修改一个镜像的环境变量,需要push/pull整个镜像。
  5. 网络依赖搞,必须通外网,否则也得设置个代理;docker file的编写,对于新手工程师,有些难度。

总结一下个人建议:

  • 如果公司规模足够大,IaaS肯定要做,openstack已经比较成熟了,用os做编排和ci/cd也是可以的
  • 全新环境,规模不大,对应用的SLA要求不是太高,上docker没问题。
  • 生产上做大规模部署,还是要等下docker的网络方案更成熟一些,另外一个是等cgroup的一些没做完的工作再完善些。
  • 想玩大数据,用docker不错,部署扩容之类,都很快,github上的开源项目不少。openstack/sahara就不建议尝试了。

Kolla-Ansible容器化部署OpenStack:从原理到生产环境实践 容器化技术通过将应用及其依赖打包成标准、隔离的单元,实现了环境的一致性和可移植性,其核心原理在于利用操作系统级虚拟化提供轻量级的资源隔离。这一技术为复杂系统的部署与运维带来了革命性价值,尤其在云平台和基础设施领域,能够有效解决环境漂移、依赖冲突和升级困难等经典难题。在私有云构建场景中,OpenStack作为广泛使用的开源云操作系统,其传统部署方式面临诸多挑战。Kolla-Ansible项目正是容器化思想与声明式配置结合的典范,它利用Docker封装每个OpenStack服务,并通过Ansible进行自动化编 阅读详情

相关推荐

基于OOS工具实现OpenStack单节点快速部署:从原理到实践

云计算平台作为现代IT基础设施的核心,通过虚拟化技术将计算、存储和网络资源池化,实现资源的弹性管理和按需分配。其核心原理在于通过软件定义的方式抽象硬件资源,提供统一的管理接口。这一技术价值在于大幅降低了IT运维成本,提升了资源利用率和业务部署效率,广泛应用于企业私有云、开发测试环境及教育培训场景。在众多开源云平台中,OpenStack以其模块化架构和广泛生态备受关注,但传统分布式部署的复杂性常令初学者望而却步。针对这一痛点,OpenStack SIG社区推出的OOS(OpenStack On Single-

weixin_33836874的博客 435

OpenStack和Docker结合?为何现在流行?

OpenStack提供强大的虚拟化管理能力,而Docker在容器化环境中则展现出高效的运行和轻量级特性。将二者结合,可以实现更灵活的资源管理和调度。结合使用可以提升在不同云平台间的兼容性和迁移便捷性,特别是对于多云环境和混合云策略。Docker相对于传统VM更加轻量,提供更快的启动速度和较低的资源占用,而OpenStack则提供稳定的虚拟化环境,二者结合可以达到性能与资源效率的平衡。最近无意间获得一份阿里大佬写的刷题笔记,一下子打通了我的任督二脉,进大厂原来没那么难。这是大佬写的,

架构师专栏 783

WPF毛玻璃效果别再写C#代码了!纯XAML用Border+VisualBrush+BlurEffect三步搞定

本文详细介绍了如何在WPF中通过纯XAML实现毛玻璃效果,无需编写C#代码。通过VisualBrush、BlurEffect和Clip的黄金组合,开发者可以快速创建专业级的毛玻璃面板,提升UI的现代感和视觉层次。文章还提供了性能优化技巧和实战案例,帮助开发者在各种场景中高效应用这一技术。

weixin_28630185的博客 353

如何在OpenStack上部署docker?

在OpenStack上部署Docker涉及多个步骤,主要可以分为以下几个阶段:1. 环境准备确保你的OpenStack环境已经搭建完成并且各个服务(如Nova、Glance、Neutron等)都已经正常运行。2. 安装Docker在OpenStack的控制节点和计算节点上安装Docker。可以使用官方的Docker镜像或者...

857

NXP KW45开发实战:如何在MCUXpresso IDE中正确配置J-Link并解决设备识别问题

本文详细介绍了在MCUXpresso IDE中配置J-Link以支持NXP KW45无线MCU开发的实战指南。从环境准备到J-Link深度配置,再到烧录流程优化和高级调试技巧,帮助开发者高效解决设备识别问题并提升开发效率。特别推荐使用JLinkRemoteServer.exe进行多设备并行调试,并提供了烧录速度优化和低功耗调试的实用技巧。

gray5的博客 864

Tomcat启动过程中cmd窗口(控制台)中文乱码的问题

tomcat启动时,启动过程日志中文乱码的处理方法。

寻码启示 1945

OpenStack VS Kubernetes,谁是你心中的王者?

当下云计算的领域里热度最高的两个项目,无疑是OpenStack和Kubernetes。如果云计算是一个风起云涌的江湖,毫不夸张的说OpenStack和Kubernetes就是江湖里的泰山北斗。OpenStack就像是少林,基础扎实、沉稳厚重,而Kubernetes就是武当,轻巧空灵、飘逸精妙。使用过这两种系统的人都应该有这样的感受,OpenStack出身于虚拟化技术,稳定但速度慢,Kubernetes则来自于容器技术,快速但有局限。两种不同的技术就决定了有着不同的人生轨迹。那么究竟两者有着怎样的际遇呢?..

北观止的博客 1311

TX 的 LOL(Local Oscillator Leakage,本振泄露)

项目内容LOL 是什么本振残留在 TX 输出中心频率上的杂散主要原因IQ 失衡、硬件不完美、零中频架构影响杂散、干扰、性能劣化、安全问题解决方法初始化校准 + 跟踪校准(AD9371 支持)检测手段频谱仪、回环检测、ADC ILA 抓取。

weixin_41230430的博客 2049

容器不会取代OpenStack,但二者如何深度整合?

发表于2015-05-20 18:04| 4760次阅读| 来源《程序员》电子刊| 5 条评论| 作者刘光亚 OpenStackDockerMagnumKilo 摘要:OpenStack基金会除了要接受Container和Google Kubernetes等容器管理平台,还积极推进Magnum子项目在技术上实现容器与OpenStack的深度整合。本文是Magnum Core M

Lyndon的专栏 1098

Flutter热更新实战:Shorebird从安装到发布补丁的完整流程(含iOS/Android差异解析)

本文详细介绍了Flutter热更新工具Shorebird的完整使用流程,包括安装、发布补丁及iOS/Android平台差异解析。Shorebird作为Flutter官方未提供的Code Push解决方案,能快速修复线上问题,支持合规性保障和性能优化,特别适合紧急修复场景。文章还涵盖了国内CDN加速配置和最佳实践,帮助开发者高效实现热更新。

butter的博客 1079

RV1126 ROS2环境交叉编译及部署(基于官方Docker)

我的所有基于`RV1126`的机器人项目都是在`Ubuntu22.04`下进行开发的,在`Ubuntu18.04 Docker`容器中实现`RV1126`的`SDK`编译,详细可参考我之前的博客[《Ubuntu20.04/22.04下Docker方案实现多平台SDK编译》第2章](https://blog.youkuaiyun.com/w1820020635/article/details/147342689),`RV1126`的`ROS1`部署没什么难度,可以参考我之前的博客,这里记录了`ROS2`交叉编译及问题解决

w1820020635的博客 1143

docker vs openstack

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34087307的博客 112

VMware系列:此平台不支持虚拟化 Intel-VT-x/EPT 或 AMD-V/RVI

VMware系列:此平台不支持虚拟化 Intel-VT-x/EPT 或 AMD-V/RVI

weixin_54626591的博客 1万+

Docker LXC VS KVM in OpenStack

KVM and docker LXC Benchmarking with OpenStackfromBoden Russell Understanding Docker What is Docker? Docker is an open platform for developing, shipping, and running applica...

weixin_34273479的博客 256

深入理解Android音视频同步机制(三)NuPlayer的avsync逻辑

本文深入介绍了NuPlayer的avsync逻辑和原理

张晖的专栏 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Docker与OpenStack比较

Docker:可以理解为集装箱,将各种货物标准并且互不影响,这些货物就是轻量级的虚拟机 底层硬件的容器级别的虚拟化 一种虚拟的类型 Openstack:整合服务器,自由的在这些服务器上创建管理虚拟机 平台管理工具 云计算平台,提供多种云主机方式比如docker、kvm 区别与不同 Docker与OpenStack 类别 Docker OpenStack 应用平...

m493096871的博客 3530

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

openstack虚拟机上docker容器无法curl问题的处理

opensatck虚拟机docker容器内curl异常问题

大新新大浩浩的博客 2628

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

OpenStack与Docker对比与描述

Openstack与Docker两者之间是互补关系: (1)Docker主要针对PaaS平台,以应用为中心,能够让IaaS层的计算资源更加充分的被利用,因为Docker相对虚拟机来说,更轻量,对资源的利用率会更加充分; (2)OpenStack主要是针对IaaS平台的,以资源为中心,为上层PaaS提供各种资源,包括计算,存储,网络资源等。

齐来军的csdn 2538

用Docker之后还需要OpenStack吗?

Docker从一个新兴的技术到一个商品化模式,这一过程的发展速度很惊人,它炙手可热的同时也给带来一些困惑。这也带来了一些同学的质疑和评论:假如用了Docker再去用OpenStack是否合适?本文来自Helion惠普云计算,深入浅出的对OpenStack和Docker进行类比。 以下是原文: Solomon Hykes创立了Docker,没有想到过Docker会人气爆棚,成为仅次于OpenSt

pfm685757的专栏 530

kvm和docker有什么区别,背后的技术原理是什么,他们和OpenStack是什么关系,以及和云计算的产品、产生是什么关系...

KVM (Kernel-based Virtual Machine) 是一种开源的虚拟化技术,它通过在 Linux 内核上添加虚拟化支持来实现虚拟机。KVM 可以让一台物理机上运行多个独立的操作系统,每个操作系统都被隔离开来,互不干扰。 Docker 是一种容器技术,它通过在 Linux 内核上的容器功能来实现应用程序的虚拟化。Docker 容器可以在同一台物理机上运行多个应用程序,每个应用程序都...

weixin_35753291的博客 716

Kubernetes vs OpenStack

前言 最近2年相信大家都听过kubernetes这种新容器编排工具,越来越多的公司也去学习相关技术,并运用它去解决公司的问题,它在开源社区也是非常火,大小不断的k8smeeting以及容器相关的会议。这火爆程度和在2011年到2016年之间非常火的Openstack非常相似,不论是社区还是公司都是积极的去推动。笔者处在互联网之中,也接触学习过这两套系统,对他们相关技术也是非常的热爱,也在慢慢的根据...

1602

openstack学习笔记----Docker

1 什么是docker ? 开源的一个基于 LXC技术之上构建的Container容器引擎,容器技术的一种.什么意思呢? 我们可以把他想象成一个用了一种新颖方式实现的超轻量虚拟机,专业的叫法是应用容器。 2 什么叫容器? 有了容器,你就相当于有了一个可以运行起来的虚拟机,只要你能运行容器,软件的配置就全省了。而且一旦你想换台机器,直接把这个容器端起来,再放到另一个机器就好了。硬件,操

rually的专栏 804

OpenStack(Stein)版配置Zun组件

文章目录基础环境DockerEtcdKuryr-libnetwork控制节点计算节点验证报错重新验证Zun控制节点基础安装配置报错:There must be at least one plugin active继续计算节点验证创建一个Container 配置Zun还需要一些其他的组件和软件支持,比如kuryr-libnetwork,docker之类的。 基础环境 Docker 安装一点必备的依赖 yum install -y yum-utils device-mapper-persistent-data

RBK的博客 3135

OpenStack--炼数成金

1OpenStack架构设计优势: 部署灵活 易扩展 易集成 OpenStack架构设计特点: 无中心 分布式 异步执行 Restful API 插件化可配置 OpenStack和docker的对比: Docker:提供了一种程序运行的容器,同时保证这些容器相互隔离。 OpenStack:提供了一个完整管理数据中心的解决方案,至于用那种hypervisor(vm)或者docekr只是云平台中的一小...

热气球 524

基于K8S的OpenStack部署实践

Openstack、Docker和Kubernetes是当前IaaS和PaaS领域最为火热的技术。随着Docker容器技术的兴起,容器编排调度引擎成为当前十分抢眼的技术,这其中尤以Google开源的Kubernetes(K8S)以Production-ready和各种完善的功能而最为人熟值。在容器及其编排引擎的推动下,Openstack的主流部署模式也在发生变化,目前的Openstack与Dock...

madmanvswarrior的博客 7112

OpenStack、Docker、KVM被评为最火的云开源项目

导读:最近调查显示OpenStack被认为是最流行的开源项目,Docker第二,KVM第三。OpenStack只有四年历史,Docker只有2年历史但却已经是历史上发展最快最受欢迎的项目之一。

wishchinYang的专栏 4228
上一篇: raft算法的核心思想
下一篇: skip-list vs red-black tree
百科全书学派
博客等级 码龄21年 20粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值