0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenStack与K8s结合的两种方案的详细介绍和比较

马哥Linux运维 来源:未知 作者:易水寒 2018-10-14 09:38 次阅读

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项目中。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 虚拟机
    +关注

    关注

    1

    文章

    854

    浏览量

    27365
  • OpenStack
    +关注

    关注

    1

    文章

    66

    浏览量

    18844

原文标题:OpenStack与K8s结合的几种方案之比较

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    全面提升,阿里云Docker/Kubernetes(K8S) 日志解决方案与选型对比

    性能以及资源消耗十分堪忧。基于阿里巴巴多年来容器服务日志采集的经验积累,并结合阿里云Kubernetes内测以来广大用户的反馈与诉求,今天,日志服务为k8s带来真正意义上的一站式日志解决方案
    发表于 02-28 12:49

    全面提升,阿里云Docker/Kubernetes(K8S) 日志解决方案与选型对比

    性能以及资源消耗十分堪忧。基于阿里巴巴多年来容器服务日志采集的经验积累,并结合阿里云Kubernetes内测以来广大用户的反馈与诉求,今天,日志服务为k8s带来真正意义上的一站式日志解决方案
    发表于 02-28 12:50

    怎么比较两种FPGA设计

    比较两种设计时使用什么更实用?来自地图报告的占用切片或来自综合报告的实际比率以上来自于谷歌翻译以下为原文What is more practical to use in comparing two
    发表于 10-22 11:17

    K8S容器编排的互通测试

    K8S容器编排之NetWorkPolicy官方实例
    发表于 06-06 11:28

    k8s核心原理学习指南3

    k8s学习3 - 核心原理
    发表于 09-25 16:37

    K8s 从懵圈到熟练 – 集群网络详解

    导读:阿里云 K8S 集群网络目前有两种方案:一是 flannel 方案;另外一是基于 ca
    发表于 10-14 15:06

    K8s 从懵圈到熟练 – 镜像拉取这件小事

    导读:相比 K8s 集群的其他功能,私有镜像的自动拉取,看起来可能是比较简单的。而镜像拉取失败,大多数情况下都和权限有关。所以,在处理相关问题的时候,我们往往会轻松的说:这问题很简单,肯定是权限
    发表于 10-14 15:38

    从零开始入门 K8s | 应用存储和持久化数据卷:核心知识

    的常见类型:本地存储,常用的有 emptydir/hostpath;网络存储:网络存储当前的实现方式有两种,一是 in-tree,它的实现代码是放在 K8s 代码仓库中的,随着 K8s
    发表于 10-15 14:55

    从零开始入门 K8s | 应用存储和持久化数据卷:存储快照与拓扑调度

    /region 来标识。这个是为了标识单个 K8s 集群管理的跨 region 的 nodes 到底属于哪个地区;第二比较常用的是可用区,也就是 available zone,在 K8s
    发表于 10-15 15:07

    从零开始入门 K8s | 应用存储和持久化数据卷:核心知识

    首先看一下 Pod Volumes 的常见类型:本地存储,常用的有 emptydir/hostpath;网络存储:网络存储当前的实现方式有两种,一是 in-tree,它的实现代码是放在 K8s 代码
    发表于 10-16 10:10

    k8s volume中的本地存储和网络存储

    八 、 k8s volume 本地存储和网络存储
    发表于 03-25 08:44

    搭建K8s环境平台的步骤

    1 搭建K8s环境平台规划1.1 单master集群1.2 多master集群
    发表于 11-04 06:03

    介绍两种MSP430的解决方案

    在MSP430上如何去使用ADPCM库?介绍两种MSP430的解决方案
    发表于 06-08 06:27

    两种典型的ADRC算法介绍

    前言  上篇中详细阐述了经典的自抗扰控制算法的原理,本篇将围绕两种ADRC算法展开,针对扩张状态观测器的参数整定问题进行详解,同时,对跟踪微分器的几个重要应用进行介绍两种典型的ADR
    发表于 09-07 08:02

    介绍两种基于Arduino的风扇自动调速方案

    话不多说,夏天到了,天气逐渐热起来,风扇成了必不可少的消暑利器。本文主要介绍两种基于Arduino的风扇自动调速方案,使用的是5V的USB风扇,物美价廉还省电。方案一是通过舵机控制旋钮
    发表于 09-08 06:20