前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenStack与K8s结合的几种方案之比较

OpenStack与K8s结合的几种方案之比较

作者头像
小小科
发布2018-10-22 10:57:41
9.6K0
发布2018-10-22 10:57:41
举报
文章被收录于专栏:北京马哥教育北京马哥教育

OpenStack与K8S结合主要有两种方案。一是K8S部署在OpenStack平台之上,二是K8S和OpenStack组件集成。

首先第一种方案目前也是大多数用户选择的方案,这种方式的优点是K8S能够快速部署、弹性扩容,并且通过虚拟机的多租户间接实现了容器的多租户,隔离性好。

缺点是容器跑在虚拟机上,多多少少计算性能可能会有点损耗,网络的多层overlay嵌套也可能导致性能下降。

OpenStack Magnum项目是该方案实现的代表,该项目为OpenStack提供容器编排服务,通过该组件,用户可以快速部署一个K8S、Mesos以及Swarm集群,原理和OpenStack大多数的高级服务实现差不多,先通过heat完成资源编排(创建虚拟机、volume、安全组等),然后通过镜像里面的heat-container-agent以及一些脚本完成K8S、Mesos以及Swarm集群的安装配置。当然,通过Ironic,Magnum支持将容器编排组件直接部署在物理机(裸机)上。

第二种方案是K8S与OpenStack的各个组件集成,在OpenStack社区以及K8S社区的共同努力下,目前可以集成的组件还是挺多的,下面简单介绍下。

1 K8S与OpenStack Keystone集成

K8S可以和OpenStack Keystone集成,即K8S可以使用Keystone认证,参考keystone authentication kubernetes-cluster。

2 K8S与OpenStack Glance集成

这个没有必要,因为Docker的镜像是分层的,使用Registry或者Harbor即可。当然如果有必要可以使用Glance存储Docker镜像作为备份,不过更建议备份到OpenStack Swift,Registry以及Harbor都原生支持使用Swift作为存储后端。

3 K8S与OpenStack Neutron集成

前面提到的通过Magnum把容器部署在虚拟机,其实并没有根本改变K8S的网络模型,K8S的底层网络依然还是诸如Flannel、Contrail等网络模型,和Neutron其实没有多大关系。另外,前面也说了,容器运行在虚拟机中不仅可能会导致计算性能损耗,网络的多层Overlay嵌套也可能会大大降低容器的网络性能。

其实社区已经实现K8S直接OpenStack Neutron网络集成,即kuryr-kubernetes项目。K8S的pod与OpenStack虚拟机是平等公民,共享Neutron网络服务,K8S网络具备和OpenStack虚拟机等同的功能,比如安全组、防火墙、QoS等。

不过遗憾的是,目前kuryr还不支持多租户,Kuryr使用Neutron的network以及subnet都是配置写死的,而不是创建port时指定。

4 K8S与Cinder集成

目前K8S已经实现了很多volume插件,PV支持对接各种存储系统,比如Ceph RBD、GlusterFS、NFS等等,参考kubernetes persistent volumes,其中就包含了Cinder,即K8S可以使用Cinder提供volume服务,这样K8S和Nova共享一套存储系统,都是Cinder的消费者。Cinder屏蔽了底层存储系统,K8S直接对接Cinder,省去了一堆plugins的安装配置。

5 K8S与Manila集成

前面提到K8S与Cinder集成,其实K8S还支持与OpenStack Manila服务集成,目前该插件已经包含在K8S的external storage项目中。

*声明:推送内容及图片来源于网络,部分内容会有所改动,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

- END -

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档