一文带你了解OpenStack和K8s的区别

OpenStack和K8s有什么区别?OpenStack和K8s是2种不同的开源类软件类型,简单的说就是OpenStack面向资源层,改变的是资源供给模式;而K8s面向应用层,变革的是业务架构。

所以,使用容器且集群规模不大,直接用K8s就可以;集群规模大,不管应用是否只是跑在容器中,都是OpenStack+K8s更好。

OpenStack+K8s是各取所长,并不只是因为惯性,而是对于多租户需求来说,Container(容器)的隔离性还需要加强,需要加一层VM(虚拟机)来弥补,而OpenStack是很好的方案。不过,VM+Container的模式,必然有性能的损耗,所以OpenStack基金会也推出一个项目叫Kata Containers,希望减少虚拟化的开销,兼顾容器的性能和隔离性。

OpenStack服务架构

OpenStack服务架构

OpenStack实现方案

  • OpenStack的网络分为flat、vlan、vxlan
  • br-tun是vxlan的隧道,隧道id对应了对应vlan id的vlan二层
  • br-int是添加vlan头、解vlan头的部分
  • route是ovs虚拟出来的路由器,不同vlan对应不同网关,通过snat出外网
  • 浮动ip是ovs在虚拟路由器上dnat反向到vm的过程

K8s集群架构

K8s集群架构

K8s实现方案

  • K8s是通过services来提供内部服务访问的,由ingress负载到集群不同的机器上去
  • fannal实现是通过iptable实现Node节点ip虚拟的集群ip容器内ip端口的3级转换

OpenStack和K8s之间的区别在于,OpenStack本质上是为了构建多租户基础设施的解决方案而设计的,而K8s其实是按照一个服务管理器来设计的。在OpenStack中,多租户设计是首要原则,而在K8s中,第一个原则则是PID(进程ID)控制器。OpenStack仍是构建云基础设施的一个重要工具,而K8s则是一个面向不同应用场景的工具而已。

OpenStack和K8s适用于不同的工作负载。例如,OpenStack更适合电信运营商,他们的工作负载大都是有状态的,而且需要长时间运行。而K8s更适合基于REST或HTTP的工作负载。

学堂

宝塔面板常用命令大全

2022-6-29 10:26:46

学堂

宝塔面板安全吗?宝塔Linux面板安全设置

2022-6-29 14:25:38

相关推荐