一、OpenShift 平台
1、容器化应用程序
我们一般说的“容器”,都是“Linux容器”。
Linux容器是与系统其他部分隔离开的一系列进程。运行这些进程所需的所有文件都由另一个镜像提供,这意味着从开发到测试再到生产的整个过程中,Linux 容器都具有可移植性和一致性。因而,相对于依赖重复传统测试环境的开发渠道,容器的运行速度要快得多。容器比较普遍也易于使用,因此也成了 IT安全方面的重要组成部分。
容器的本质,一句话解释,就是一组受到资源限制,彼此间相互隔离的进程。而隔离所用到的技术都是由linux内核本身提供的(所以说目前绝大部分的容器都是必须要跑在linux里面的)。其中namespace用来做访问隔离(每个容器进程都有自己独立的进程空间,看不到其他进程),cgroups用来做资源限制(cpu、内存、存储、网络的使用限制)。
Namespace让每个进程组有独立的PID, IPC和网络空间.Namespace通过 clone系统调用来实现的。cgroups 是将进程分组管理的内核功能.通过cgroups可以隔离进程,同时还可以控制进程的资源占用(CPU、内存等等)情况在操作系统底层限制物理资源,起到 Container 的作用。进程可用的cpu资源由cpuset指定。
总的来说容器就是一种基于操作系统能力的隔离技术,这和基于hypervisor的虚拟化技术(能完整模拟出虚拟硬件和客户机操作系统)不同的。和传统虚拟化相比,容器启动很快,由于共享系统资源,一台主机可以运行上千个容器,并且容器镜像用类似git分发思想,用户更容易创建,分发,更新存储这些镜像。
与使用传统的部署方法相比,使用容器化的应用程序具有许多优势。曾经期望将应用程序安装在包