十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
《深入剖析Kubernetes - 06 | 白话容器基础(二):隔离与限制》
创新互联是一家专注于成都网站设计、做网站与策划设计,梁平网站建设哪家好?创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:梁平等地区。梁平做网站价格咨询:189820811081、隔离
虚拟机VM与 容器 docker的主要区别在于,虚拟机依赖 Hypervisor 层实现资源隔离和虚拟化,而容器的实现都是依赖OS 本身
虚拟机VM 在不做优化的情况下,本身就会占用100-200M 的内存,另外如果涉及到宿主机一些底层调用,都必须经过虚拟化软件的拦截和处理,这里会多一层性能损耗,主要体现在网络 和磁盘 I/O
容器的隔离机制也不是十全十美,大的问题就是隔离不彻底,主要体现在:
(1) 例如在容器内执行free、top 等命令,看到的数据都是宿主机上面的信息,原因是 proc 并没有隔离;另外一个例子,很多应用程序运行在容器中都不能很好的识别内存、CPU的限制,典型的如 java
(2) 虽然每个容器可以通过mount namespace隔离的机制挂载不同的操作系统文件,但底层都是基于同一个操作系统(同一个操作系统内核),这就意味着在windows 上运行linux容器,或者低版本linux宿主机上运行高版本linux容器都是不可以的
2、限制 (cgroups)
通过cgroups 实现对一个进程组的资源使用上限进行限制,如内存、cpu、网络带宽、磁盘等
Cgroups 给用户暴露出来的操作接口是文件系统,即它以文件和目录的方式放在/sys/fs/cgroup 路径下
root@ubuntu:~# mount -t cgroup cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd) cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb) cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory) cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset) cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids) cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio) cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices) cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event) cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。