3.运行环境
此层为容器平台上运行环境相关的部分,主要分为等云原生存储、云原生网络和容器运行环境三个方面进行展开。这一层主要是聚集了与运行环境相关的通用的架构、工具以提供相关能力。结合 CNCF 孵化项目,可以考虑使用 ROOK 做相关的云原生存储服务,使用 CNI 进行云原生网络管理,使用 containerd 或 cri-o 来进行容器运行环境的管理。
而在实际的项目,关于云原生存储,一般的项目可能直接使用 NFS 或者本地存储类型,除此之外可能会在 ceph 和 glusterfs 之间进行选型;
而关于云原生网络,CNI 作为一种通用的网络解决的框架,选择确实很多,但是最终还是会落到 flannel、calico 与 Weave net 三大主流框架之间的选型。
容器云运行时一般使用基于 containerd 的 Docker 作为容器运行时。
2.运行层
接下来是运行层。运行时是可能引起混淆的术语之一。与IT中的许多术语一样,没有严格的定义,可以根据上下文使用不同的定义。从狭义上讲,运行时是准备运行应用程序的特定计算机上的沙箱-应用程序所需的最低限度。从广义上讲,运行时是应用程序需要运行的任何工具。
在CNCF云原生环境中,运行时在两者之间的某个位置定义,重点放在对容器化应用特别重要的组件上:它们需要运行,记住和交流的内容。它们包括:
(1)云原生存储为容器化的应用程序提供了虚拟化磁盘或持久性。
(2)容器运行时为容器提供了约束,资源和安全性方面的考虑,并使用编码后的应用程序执行了文件。
(3)云本机网络,分布式系统的节点(机器或过程)通过其进行连接和通信的网络。