一、Openstack与Docker两者之间是互补关系
OpenStack作为IaaS事实标准,积极主动兼容Docker,说明容器化很有诱惑,是未来的技术方向。虽然OpenStack是越做越庞大,但也不是什么项目都会集成的。而OpenStack和Docker分别偏向IaaS(资源层)和PaaS(应用层),让两者有深度结合的基础.
(1)OpenStack主要是针对IaaS平台的,以资源为中心,为上层PaaS提供各种资源,包括计算,存储,网络资源等
(2)Docker主要针对PaaS平台,以应用为中心,能够让IaaS层的计算资源更加充分的被利用,因为Docker相对虚拟机来说,更轻量,对资源的利用率会更加充分;
二、Docker与Kubernetes关系
一句话总结:Docker只是容器的一种,它面向的是单体,K8S可以管理多种容器,它面向的是集群,Docker可以作为一种容器方案被K8S管理。下文继续具体介绍。
Kubernetes和Docker共同构成了现代微服务架构的基石。Docker解决了应用程序的容器化问题,而Kubernetes则负责容器的自动化管理和编排。
- Kubernetes简介
Kubernetes(简称k8s)是一个开源的容器编排平台,由Google发起并开源。它用于自动化容器化应用程序的部署、扩展和管理。Kubernetes支持多种容器运行时技术,其中最为广泛使用的就是Docker。通过Kubernetes,我们可以对容器进行分布式管理,实现容器的高可用、负载均衡和故障恢复等功能。
2.Docker简介
Docker 是当前流行的 Linux 容器解决方案,利用 Namespaces 、Cgroups 以及联合文件系统UnionFS 实现了同一主机上容器进程间的相互隔离。
三、Kubernetes与Docker调用
Docker、Kubernetes、OCI、CRI-O、containerd、runc运行协作的呢,见下图:
四、Openstack和Hadoop关系
- Openstack是云操作系统,是将物理机虚拟化的云计算服务架构平台,主要做资源的虚拟化,包含各种管理组件及API。
- Hadoop为大数据分析或处理架构,是“云计算”中分布式计算核心:存储与计算,主要用来做超大数据处理,还可以做数据挖掘。
- Openstack是属于云计算的Iaas层(基础架构层),而Hadoop就可以在Openstack上运行(以虚拟机为基础)。
- Openstack是把大机器1:N虚拟成很多小机器来用; Hadoop是把小机器N:1融合,解决单台大机器无法解决的计算和存储等问题。