亲清在线-江山新闻网

查看: 25|回复: 0

微办事架构之「 容器技术 」

[复制链接]

2万

主题

0

回帖

6万

积分

论坛元老

Rank: 8Rank: 8

积分
68546
发表于 2025-8-9 19:32 | 显示全部楼层 |阅读模式
现在一聊到容器技术假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,大师就默许是指 docker 了预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。但究竟上假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,在 Docker 出现之前假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,PaaS社区早就有容器技术了假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,以 Cloud Foundry、OpenShift 为代表的就是那时的支流预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
那为啥终极还是 Docker 火起来了呢?
由于传统的PaaS技术虽然也可以一键将当天时用摆设到云上假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,而且也是采用隔离情况(容器)的形式去摆设假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,可是其兼容性很是的欠好预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。由于其首要道理就是将当天时用法式和启停剧本一同打包假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,然后上传到云办事器上假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,然后再在云办事器里经过剧本启动这个利用法式预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
这样的做法假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,看起来很理想预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。可是在现真相况下假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,由于当地与云真个情况差别假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,致使上传到云真个利用经常各类报错、运转不起来假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,需要各类点窜设置和参数来做兼容预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。甚至在项目迭代进程平分歧的版本代码都需要重新去做适配假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,很是花费精神预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
但是 Docker 却经过一个小创新完善的处理了这个题目预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。在 Docker 的计划中假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,它不但打包了当天时用法式假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,而且还将当地情况(操纵系统的一部分)也打包了假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,组成一个叫做「 Docker镜像 」的文件包预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。所以这个「 Docker镜像 」就包括了利用运转所需的全数依靠假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,我们可以间接基于这个「 Docker镜像 」在当地停止开辟与测试假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,完成以后假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,再间接将这个「 Docker镜像 」一键上传到云端运转即可预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
Docker 实现了当地与云真个情况完全分歧假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,做到了实在的一次开辟到处运转预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
一、容器究竟是什么?
容器究竟是什么呢?也许对于容器不太领会假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,但我们对虚拟机熟悉啊假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,那末我们就先来看一下容器与虚拟机的对照区分:



上图的左侧是虚拟机的道理假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,右侧是docker容器的道理预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
虚拟机是在宿主机上基于 Hypervisor 软件虚拟出一套操纵系统所需的硬件装备假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,再在这些虚拟硬件上安装操纵系统 Guest OS假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,然后分歧的利用法式便可以运转在分歧的 Guest OS 上假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,利用之间也就相互自力、资本隔离了假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,可是由于需要 Hypervisor 来建立虚拟机假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,且每个虚拟机里需要完整的运转一套操纵系统 Guest OS假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,是以这个方式会带来很多额外资本的开销预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
而 Docker容器 中却没有 Hypervisor 这一层假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,虽然它需要在宿主机中运转 Docker Engine假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,但它的道理却完全分歧于 Hypervisor假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,它并没有虚拟出硬件装备假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,更没有自力摆设全套的操纵系统 Guest OS预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
Docker容器没有那末复杂的实现道理假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,它实在就是一个普通进程而已假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,只不外它是一种经过特别处置过的普通进程预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
我们启动容器的时辰(docker run …)假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,Docker Engine 只不外是启动了一个进程假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,这个进程就运转着我们容器里的利用预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。但 Docker Engine 对这个进程做了一些特别处置假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,经过这些特别处置以后假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,这个进程所看到的内部情况就不再是宿主机的阿谁情况了(它看不到宿主机中的别的进程了假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,以为自己是当前操纵系统唯逐一个进程)假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,而且 Docker Engine 还对这个进程所利用得资本停止了限制假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,避免它对宿主机资本的无穷利用预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
那 Docker Engine 具体是做了哪些特别处置才有这么奇异的结果呢?
二、容器是若何做到资本隔离和限制的?
Docker容器对这个进程的隔离首要采用2个技术点:
  • Namespace 技术
  • Cgroups 技术

    弄清楚了这两个技术点对了解容器的道理很是重要假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,它们是容器技术的焦点预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。


    下面来具体诠释一下:
    Namespace 技术
    Namespace 并不是一个什么新技术假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,它是Linux操纵系统默许供给的API假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,包括 PID Namespace、Mount Namespace、IPC Namespace、Network Namespace等等预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    以 PID Namespace 举例假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,它的功用是可以让我们在建立进程的时辰假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,告诉Linux系统假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,我们要建立的进程需要一个新的自力的进程空间假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,而且这个进程在这个新的进程空间里的PID=1假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,也就是说这个进程只看获得这个新进程空间里的工具假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,看不到里面宿主机情况里的工具假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,也看不到别的进程(不外这只是一个虚拟空间假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,究竟上这个进程在宿主机里PID该是啥还是啥假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,没有变化假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,只不外在这个进程空间里假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,该进程以为自己的PID=1)预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    打个例如假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,就像是一个班级假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,每小我在这个班里都有一个编号假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,班里有90人假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,然后来了一位新同学假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,那他在班里的编号就是91假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,可是教员为了给这位同学出格照顾假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,所以在班里斥地了一块自力的看不到里面的小隔间假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,并告诉这个同学他的编号是1假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,由于这位同学在这个小空间里隔离着假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,所以他真的以为自己就是班上的第一位同学且编号为1假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,固然了假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,究竟上这位同学在班上的编号仍然是91预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    别的假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,Network Namespace 的技术道理也是类似的假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,让这个进程只能看到当前Namespace空间里的收集装备假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,看不到宿主机实在情况预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。同理假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,别的 Mount、IPC等 Namespace 也是这样预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    Namespace 技术实在就是点窜了利用进程的视觉范围假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,但利用进程的本质却没有变化预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    不外假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,Docker容器里虽然带有一部分操纵系统(文件系统相关)假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,但它并没有内核假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,是以多个容器之间是共用宿主机的操纵系统内核的预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。这一点与虚拟机的道理是完全纷歧样的预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    Cgroups 技术
    Cgroup 全称是 Control Group假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,其功用就是限制进程组所利用的最大资本(这些资本可所以 CPU、内存、磁盘等等)预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    既然 Namespace 技术 只能改变一下进程组的视觉范围假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,并不能实在的对资本做出限制预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。那末为了避免容器(进程)之间相互抢资本假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,甚至某个容器把宿主机资本全数用完致使别的容器也宕掉的情况发生预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。是以假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,必须采用 Cgroup 技术对容器的资本停止限制预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    Cgroup 技术也是Linux默许供给的功用假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,在Linux系统的 /sys/fs/cgroup 下面有一些子目录 cpu、memory等假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,Cgroup技术供给的功用就是可以基于这些目录实现对这些资本停止限制预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    例如:在 /sys/fs/cgroup/cpu 下面建立一个 dockerContainer 子目录假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,系统就会自动在这个新建的目录下面天生一些设置文件假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,这些设置文件就是用来控制资本利用量的预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。例如可以在这些设置文件里面设备某个进程ID对CPU的最大利用率预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    Cgroup 对别的内存、磁盘等资本也是采用一样道理做限制预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    三、容器的镜像是什么?
    一个根本的容器镜像实在就是一个 rootfs假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,它包括操纵系统的文件系统(文件和目录)假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,但并不包括操纵系统的内核预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    rootfs 是在容器里根目录上挂载的一个全新的文件系统假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,此文件系统与宿主机的文件系统无关假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,是一个完全自力的假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,用于给容器停止供给情况的文件系统预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    对于一个Docker容器而言假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,需要基于 pivot_root 指令假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,将容器内的系统根目录切换到rootfs上假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,这样假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,有了这个 rootfs假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,容器就可以为进程构建出一个完整的文件系统假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,且实现了与宿主机的情况隔离假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,也正是有了rootfs假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,才能实现基于容器的当天时用与云端利用运转情况的分歧预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    别的假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,为了方便镜像的复用假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,Docker 在镜像中引入了层(Layer)的概念假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,可以将分歧的镜像一层一层的迭在一路预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。这样假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,假如我们要做一个新的镜像假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,便可以基于之前已经做好的某个镜像的根本上继续做预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。


    如上图假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,这个例子中最底层是操纵系统指导假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,往上一层就是根本镜像层(Linux的文件系统)假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,再往上就是我们需要的各类利用镜像假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,Docker 会把这些镜像结合挂载在一个挂载点上假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,这些镜像层都是只读的预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。只要最上面的容器层是可读可写的预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    这类分层的计划实在是基于 结合文件系统UnionFS(Union File System)的技术实现的预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。它可以将分歧的目录全数挂载在同一个目录下预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。举个例子假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,倘使有文件夹 test1 和 test2 假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,这两个文件夹里面的文件 有不异的假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,也有分歧的预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。然后我们可以采用结合挂载的方式假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,将这两个文件夹挂载到 test3 上假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,那末 test3 目录里就有了 test1 和 test2 的一切文件(不异的文件有去重假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,分歧的文件都保存)预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    这个道理利用在Docker镜像中假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,比若有2个同学假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,同学A已经做好了一个基于Linux的Java情况的镜像假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,同学S想搭建一个Java Web情况假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,那末他就不必再去做Java情况的镜像了假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,可以间接基于同学A的镜像在上面增加Tomcat后天生新镜像即可预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
    以上假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,就是对微办事架构之「 容器技术 」的一些思考预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
  • 本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|亲清在线-江山新闻网  

    GMT+8, 2025-9-21 19:57 , Processed in 0.301298 second(s), 24 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表