当前位置:网站首页>Kubernetes与OpenStack
Kubernetes与OpenStack
2022-08-08 22:37:00 【InfoQ】

OpenStack is a resource-oriented IaaSCloud platform management software that helps users build and manage private and public clouds.
At present, OpenStack is still the mainstream platform in the field of open source IaaS, and more than 80% of Chinese enterprises are using OpenStack.But with the increasing popularity of K8s, many OpenStack users have begun to pay attention to cloud native.Some users are also trying to migrate workloads from Openstack to cloud-native environments.
OpenStack + Kubernetes is a relatively popular cloud application solution stack.For those users who have deployed OpenStack and are trying to use Kubernetes at the same time, in order to help them better manage OpenStack and K8s at the same time, we recommend that users use K8s as the base, and OpenStack is deployed, managed and orchestrated uniformly by K8s.Various tenant subnets (across K8s and OpenStack) can be dynamically defined and connected/disconnected to support dynamically changing tenant needs.
In this scenario, the network interconnection between OpenStack VMs and Kubernetes Pods has become an urgent problem to be solved.At the same time, the network isolation function provided by OpenStack should also take effect in the process of connecting with Kubernetes: VMs belonging to one VPC should not be able to access VMs and Pods/Svcs of another VPC.
Faced with this demand, Lingqueyun Kube-OVN team engineers and Intel's OpenStack experts jointly formulated a corresponding plan.In the solution, the basic functions that Kube-OVN needs to provide are as follows:
- Provide routing switching between Kubernetes Pods and OpenStack VMs to achieve network interoperability;
- Provide Kubernetes with the same network isolation specification as OpenStack to ensure network isolation between VPCs.
There are currently two types of implementation schemes, one is based on ovn-ic, which provides routing switching and network isolation in a loosely coupled manner; the other is based on ovn-ic.It is a scheme based on the same ovn base, which is a tightly coupled scheme.
Pre-requirements for the solution:
- Kube-OVN is upgraded to V 1.7 or above;
- OpenStack usurri +. must be deployed based on ovn.
Scheme 1: Based on ovn-ic
Networking Method 1:
ovn-ic is an inter-connection tool provided by ovn, which is used to exchange routes between different ovn controllers. The reliability and performance are guaranteed by ovn.

As shown in the figure, ovn-ic isThe middleman exchanges routing information between OpenStack OVN and Kubernetes Kube-OVN.
The advantage of this design is that the deployment is simple, OpenStack and Kubernetes are relatively independent and will not affect each other.
There are also some disadvantages: OpenStack and Kubernetes are deployed separately, and resource utilization is calculated independently; and the network isolation feature of OpenStack cannot be displayed.
Networking method 2:
It is still based on ovn-ic, but a Kubernetes cluster will be established for each tenant of OpenStack.

As shown in the figure, ovn-ic willResponsible for routing each VPC network in the OpenStack cluster and its corresponding Kubernetes cluster.
The advantage of this design is that the deployment is simple, OpenStack and Kubernetes are relatively independent, not affected by each other's changes, and can support the network isolation feature of OpenStack.
There are also the same drawbacks. OpenStack and Kubernetes are deployed separately, and resource utilization is calculated independently.
Option 2: Based on the same OVN base
This solution requires Kubernetes and OpenStack to be deployed based on the same ovn controller.Kube-OVN currently supports OpenStack deployment on Kube-OVN's ovn controller.

In this scenario, OpenStack deploys, The network component follows the interface provided by Kube-OVN in Kubernetes. Therefore, the network base of OpenStack and Kubernetes is the same ovn.Correspondingly, the networking capabilities of Kubernetes and OpenStack are exactly the same.
The benefits of this solution are obvious:
- OpenStack and Kubernetes can deploy VMs and Pods on the same host node, which can maximize the performance of a host nodeResource utilization;
- Supports the network isolation feature of OpenStack.
Of course, there will also be some drawbacks, including complex deployment, Kubernetes and OpenStack will interact with each other in virtual network networkingWait.These two solutions have been listed on GitHub (https://github.com/kubeovn/kube-ovn/blob/master/docs/OpenstackOnKubernetes.md), which one will suit your usage scenario better?
边栏推荐
猜你喜欢
随机推荐
按键精灵 删除文件 命令
C drive space management
Unity工程安全地修改脚本名、变量名,不丢失现有的引用
为什么用了大牌工具后报表开发依然头疼
微信公众号 接口测试平台 获取自定义菜单教程
php判断页面访问是移动端还是pc端
战投部都没了的字节,买了一家高端妇幼医院
MySQL query problem?
Go语言并发编程基础上下文概念是什么
让IPv6强大的关键——NDP邻居发现协议
你的下一台电脑何必是电脑,探索不一样的远程操作
一个PHP算法,php数组一个二维数组拆分成多个子数组
Unity ScrollView无限循环左右滑动翻页带阻尼效果
ZCANPRO 通道配置方法
17 [2D conversion 3D conversion browser private prefix]
iTween使用小坑
Cesium快速上手3-Billboard/Label/PointPrimitives图元使用讲解
PHP7.2开发物流自动拣货机流程
ArcPy图斑编号-根据字段长度自动补齐
Kubernetes与OpenStack









