容器技术的三大核心技术

2025-01-19 14:02:11
嵇仲羡
冶金VPS
本文目录一览

5g的三大核心技术

5G的三大主要技术是SBA、CUPS和网络切片。
什么是小企业管理局?SBA(ServiceBasedArchitecture),基于服务的架构。
它基于云原生架构设计,借鉴了IT领域“微服务”的概念。
众所周知,传统的网络组件是紧密耦合的黑盒架构,NFV(网络功能虚拟化)将网络功能与黑盒硬件分离,但解耦的软件仍然是一个“大”的单体架构。
应用开发进一步分解为细粒度的模块化组件,并通过开放的API接口进行集成,提高整体效率和灵活性。
为此,业界提出了基于CloudNative的设计原则。
CloudNative的使命是改变世界构建软件的方式,主要从微服务架构、DevOps和以容器为代表的敏捷基础设施开始。
微服务是指将一个单体(这个词很难正确翻译,本文翻译为单个应用程序)划分为许多通过API连接的微服务,每个微服务部署、改进和扩展其他服务。
并更新常用的应用程序而不影响客户端使用。
基于这种设计理念,首先将传统的网络元素转换为网络功能(NF),然后将NF划分为许多“网络功能服务”。
SBA=网络功能服务+基于服务的接口。
网络功能可以由若干模块化的“网络功能服务”组成,并通过“基于服务的接口”暴露其功能,使得“网络功能服务”可以被授权的NF灵活使用。
其中,NRF(NFRepositoryFunction,NF存储库函数)支持网络功能服务注册、状态监控等,实现网络功能服务的自动管理、选择和扩展。
CUPSCUPS(ControlandUserPlaneSeparation),将控制平面和用户平面分开。
目的是将网络的用户面从“中心化”的束缚中解放出来,因此可以动态地位于主网(中央数据中心)或接入网(边缘数据中心)。
这是关于部署并最终分发它的。
部署。
事实上,控制面和用户面分离的方向已经得到了改善。
例如,从R7开始,控制面和用户面采用直接隧道技术分离,3GRNC和GGSN之间建立直接用户面隧道,用户面数据流量直接经过SGSN,在RNC和GGSN之间传输。
在R8中,出现了MME等纯信令节点。
在4.5G和5G时代,这种分离趋势更加彻底,也更加重要。
原因之一是满足5G网络的毫秒级时延KPI。
光纤的传输速度为200公里。
显然,终端与核心网之间来回传输的数据距离数百公里,无法满足5G的毫秒级时延。
物理距离有限,这是一个缺点。
因此,应该分布在整个接入网络(边缘数据中心)以交付给用户并减少延迟和网络后台负载。
网络颠覆5G业务多种多样,包括车联网、大物联网、工业自动化、远程医疗、VR/AR等。
这些业务有不同的网络需求,例如工业自动化需要低延迟和高可靠性,但高质量视频不需要超低延迟,但需要大量的互联网等等。
因此,5G应该像瑞士一样。
军刀,具有多种功能,可以完成各种网络服务。
因此,我们需要将网络切割成许多虚拟的、互斥的子网来分别容纳不同的服务。
当然,这种灵活的切片工作无法用传统的大型黑匣子设备来完成,因为需要虚拟化、软件和额外的优质网络功能来组装灵活的业务应用。
因此,3GPP证明,以中国移动为首的26家公司提供的SBA架构是5G核心网基础设施。

容器领域的OCI指的是什么?

引领容器世界标准化进程:OpenContainerInitiative(OCI)详解

在容器技术蓬勃发展的今天,OpenContainerInitiative(OCI)就像一盏灯塔,为标准和行业的共同努力提供了关键指导。
当年Docker镜像格式和容器运行时起源于2013年,作为开源项目出现,并迅速在行业中确立了自己的地位。
然而,随着技术的快速发展,Docker意识到,为了促进创新、避免行业碎片化,必须将这项核心技术交给独立的管理组织。

因此,Docker与众多容器技术先驱和行业领导者合作,共同开发并建立了OpenContainer项目(OCP)。
这一举措得到了Linux基金会的大力支持,并于2015年6月的DockerCon大会上正式宣布。
经过那年冬天的精心完善,OCP最终演变成了我们今天所知的开放容器计划,其目标是统一和巩固容器开发、部署和管理标准,从而形成更加开放、可互操作和可信的容器生态系统。

OCI的核心价值是通过定义从镜像创建、分发到容器运行的全面容器规范,使不同厂商的容器技术能够无缝沟通。
这种标准化过程不仅提高了效率,而且促进了跨平台和云容器应用部署,鼓励全行业的发展和创新。

随着OCI的诞生和发展,容器技术的未来变得更加清晰和统一。
开发者和企业都可以享受这个开放框架所标配的便利性和灵活性,共同构建容器技术更强大、更可靠的未来。

全栈工程化实战之(一)—容器化和基础环境

在虚拟机(VMware)出现之前,由于应用程序使用时的依赖问题,新的应用程序往往必须部署在独立的服务器上,导致硬件资源利用率低,VMware的出现完美地解决了这个问题。

不过,VMware也有缺点,首先,VMware实际上是一个虚拟的独立操作系统,需要额外的CPU、RAM和存储资源,因为虚拟机是一个独立的操作系统,所以启动速度慢;,对于独立操作系统,需要单独打补丁和监控,对于商业应用,还需要系统权限。

基于以上原因,以Google为代表的大型互联网公司纷纷探索使用容器技术替代虚拟机模式的弊端。

在虚拟机模型中,Hypervisor是硬件虚拟化(HardwareVirtualization)——将硬件资源划分为虚拟资源,并将其包装到VM软件结构中,而容器模型则是操作系统虚拟化(OSVirtualization)。

容器共享宿主机操作系统,实现进程级隔离与虚拟机相比,容器启动快、占用资源少、易于迁移。

现代容器技术源于Linux,依赖于内核命名空间(KernelNamespace)、控制组(ControlGroup)、联合文件系统(UnionFileSystem)等核心技术。

容器技术的复杂性导致其推广困难。
直到Docker的出现,Docker让容器技术的使用变得简单。

目前还没有MacWindows容器win10平台,winserver2016已经支持windows容器。

在Windows中,系统必须是Windows1064位,并且打开了Hyper-V功能和容器。

顺便说一句,Mac安装请参考这里,Windows安装请参考这里。

安装成功后,执行dockerversion的输出类似如下:

可以通过dockerimagepull命令镜像名称拉取镜像。
完整的镜像名称如下:

:repository:

容器是镜像的运行时实例。

容器是一个应用程序。

将应用程序集成到容器中运行的过程称为容器。

容器通用步骤:

言归正传,通过容器定制一个全栈开发基础环境。

创建一个运行startup.sh脚本的容器:

最后执行dockerimagebuild构建命令..

一文弄懂Docker核心技术与实现原理,值得收藏

在虚拟化技术中,Docker已经成为主流,尤其是在生产环境中。
其成熟的社区和庞大的代码库意味着Docker已经超越了玩具开发阶段,成为企业级解决方案。
然而,理解整体架构变得复杂,尤其是随着项目增长、功能细分和频繁的代码重构。
本文旨在探讨支持Docker虚拟化技术的关键技术。
首先,Docker的存在是为了解决后端开发、运维阶段的环境一致性要求。
通过将运行环境纳入版本控制,消除了因环境差异导致的结果不一致的问题。
但这只是推动虚拟化技术的因素之一。
Docker要成为一个完美的产品,底层技术的支持至关重要。
命名空间是Linux提供的一种用于隔离进程树、网络接口、挂载点和进程间通信资源的方法。
在Linux系统中,确保服务不会互相影响,而是运行在多台不同的机器上,是通过命名空间来实现的。
Linux提供了七个命名空间选项(例如CLONE_NEWPID)来在创建新进程时实现隔离。
进程是Linux和现代操作系统的中心概念,它代表正在运行的程序。
每个进程都有一个唯一的标识符(PID)。
PID为1的/sbin/init进程负责系统初始化和注册进程,而PID为2的kthreadd进程处理内核进程调度。
当使用Docker启动容器并运行ps命令时,容器内的进程列表与主机上的进程形成鲜明对比,说明进程已成功隔离。
通过clone(2)函数和CLONE_NEWPID参数,实现与宿主进程的隔离。
Docker容器内的任何进程都无法访问宿主机进程,有效解决了进程间相互影响的问题。
网络是Docker容器正常运行的关键。
数据包隔离和转发是通过网络命名空间和iptables实现的。
每个容器都有独立的网络命名空间,并通过四种网络模式(如桥接模式)连接到主机网络。
在桥接模式下,容器被分配一个IP地址,并且iptables规则允许容器与外界通信。
使用redis-cli访问容器内部服务时,数据包通过iptablesNAT配置映射到端口,保证容器能够提供服务。
libnetwork是Docker的核心组件之一,提供一致的网络连接和编程接口。
容器网络模型由Sandbox、Endpoint、Network组件组成,实现进程和网络隔离。
使用克隆函数和CLONE_NEWNS参数在容器中创建一个隔离的挂载点命名空间。
这确保容器无法访问主机上的其他目录,并进一步限制通过libcontainer的pivot_root或chroot函数对文件系统的访问。
CGroups(ControlGroups)为容器提供物理资源隔离,包括CPU、内存、磁盘I/O和网络带宽。
每个CGroup包含一组有限的流程来实现资源分配和管理,保证容器之间、容器与主机之间合理分配资源,避免资源抢占。
UnionFS是一个Linux文件系统,用于将多个文件系统组合到一个安装点中。
AUFS(AdvancedUnionFS)作为更新版本,提供了更好的性能。
Docker使用AUFS作为默认的存储驱动,将镜像层和容器层结合起来,提供高效灵活的资源管理。
除了AUFS之外,Docker还支持多种存储驱动(例如aufs、devicemapper、overlay2、zfs和vfs),以满足您的不同需求。
选择不同的驱动程序取决于您的系统配置和性能要求。
简而言之,Docker之所以成为可能,是因为它的核心构建在Linux命名空间、控制组和UnionFS等成熟技术之上。
这些技术不仅支持Docker特性的实现,也是Docker在生产环境中广泛应用的关键。
如需深入了解Docker实现原理,可以参考DockerCE源码资源。