运维开发网

K8S容器化OpenStack为哪般?

运维开发网 https://www.qedev.com 2021-01-08 08:26 出处:51CTO 作者:mb5ff5933087b38
美国东部时间5月8日,OpenStack峰会在波士顿Hynes会议中心盛大开幕,此次峰会首现Kubernetes Day,K8S技术社区特约记者王博在现场发回报道:本届波士顿峰会上有多个session介绍了在kubernetes之上运行openstack的相关话题,session的subject列在下面,这里我们做简要的总结和梳理。Make Both OpenStack and Kubernete

美国东部时间5月8日,OpenStack峰会在波士顿Hynes会议中心盛大开幕,此次峰会首现Kubernetes Day,K8S技术社区特约记者王博在现场发回报道:

本届波士顿峰会上有多个session介绍了在kubernetes之上运行openstack的相关话题,session的subject列在下面,这里我们做简要的总结和梳理。

Make Both OpenStack and Kubernetes a Fail-Safe: a.k.a OpenStack on Kubernetes

Cloud Native Computing with Kubernetes and OpenStack

Hands-On Workshop: Learn How to Deploy OpenStack on Kubernetes.

OpenStack on Kubernetes: One Year After

为什么要使用kubernetes编排openstack呢?

主要想利用kubernetes提供的scalling up, rolling upgrade功能实现对openstack各组件lifecycle的管理。下面举例说明可以解决哪些问题:

  1. 某时间段,系统中对keysotne访问量增加,可以通过scalling up增加keystone services的数量

  2. 已经在运行的openstack平台,需要升级某个组件,可以利用rolling update方式解决升级

  3. openstack组件容器化之后,各组件运行依赖通过容器隔离,可以解决Mitaka版本的nova和Netwon版本的keysotne可以在同一个Controller node上运行互不影响

K8S容器化OpenStack为哪般?

目前,我们有多个工具选择可以在kubernetes上部署openstack,如下图:

K8S容器化OpenStack为哪般?

这里我们选择openstack big-tent的项目openstack—helm,做简单介绍。

首先介绍下Helm和Charts。Helm,是Kubernetes的软件包管理器。Charts用来定义和配置可安装的Kubernetes资源包。

openstack-helm包含了openstack中的各个组件容器化定义的Charts,利用Helm对具体Charts做安装部署。用户使用openstack-helm可以部署单个openstack组件,也可以部署整个openstack环境。

K8S容器化OpenStack为哪般?

这里我们不做更多的细节介绍,但是其中有很多技术细节和难点需要考虑,例如:

1. 数据库集群是否需要有状态,如果扩缩如何保证数据一致性

2. 如何实现各组件api服务的高可用问题

3. 哪些组件需要使用daemonset部署

4. 如何使用Node affinity 保证某些组件部署到指定节点

总结

我们使用容器平台的最终目的是将应用容器化。在kubernetes上将openstack容器化算是一个复杂又有趣的实践,除了可以利用kubernetes的特性解决openstack运维的问题,也可以为应用容器化积累大量宝贵经验。如何玩转openstack+kubernetes以解决更多的问题,相信随着大家的深入使用会有更精彩的答案。

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号