云原生时代,容器永生

Posted 云原生生态圈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云原生时代,容器永生相关的知识,希望对你有一定的参考价值。

就在前几个月,Apache 宣布准备将曾火极一时的 Mesos 项目移至 Attic下 ,保存为“只读”状态。要知道,Attic 是 Apache 软件基金会为已终止项目提供的一种解决方案,这意味着 Mesos 正式进入项目“退休”阶段。

说实话,我并不惊讶。过去几年,以 docker、kubernetes 为代表的容器技术已发展为一项通用技术,BAT、滴滴、京东、头条等大厂,都争相把容器和 k8s 项目作为技术重心,试图“放长线钓大鱼”。

就说阿里吧,目前基本所有业务都跑在云上,其中有一半迁移到了自己定制 k8s 集群上。据说,今年计划完成 100% 基于 k8s 集群的业务部署。而服务网格这块儿,在阿里一些部门(比如蚂蚁金服),已经有线上业务在用了。

这充分说明了容器在当今软件研发领域的地位,掌握容器技术自然成为很多公司在招聘时的重要选项。

但是,容器技术本身偏向运维,namespace 资源隔离、cgroups 资源限制等概念,对开发者来说,理解起来比较困难。这几年,在跟朋友探讨 k8s 落地时,也有一些问题被反复提及,比如:

  • 为什么运行在虚拟机里的 CPU 监控程序,移到容器之后,再用之前的算法计算容器 CPU 使用率就不适用了?
  • 为什么我的容器里有这么多僵尸进程?
  • 为什么 kubernetes 一直不支持使用 swap ?
  • 为什么我的容器内存使用量总是在临界点?

 

其实,容器问题虽然很复杂,但最终都会归结到 Linux 操作系统上,而它不外乎是进程管理、内存管理、文件系统、网络协议栈,再加上一些安全管理。同时,再考虑容器自身的特性——Namespace 和 Cgroups,毕竟 Linux 内核的特性叠加二者会带来一些变化。

所以,在解决容器相关问题时,将 Linux 操作系统的主要模块,和容器的知识结构系统串联起来,并看到 Namespace 和 Cgroups 带来的特殊性,有一个整体的思路和体系。

上面这张图出自李程远,他是 eBay 总监级工程师、云平台架构师,有超过 15 年 Linux 平台开发经验,以及 8 年云平台开发经历,参与设计并开发了 eBay 数据中心两代云平台。

总结来说,他深入讲解了容器技术的底层实现和核心原理,通过解决 20 个常见容器问题, 让你搭建完整的容器知识体系,掌握常见 Linux 内核调试工具的使用场景,和Namespace、Cgroups 的实际应用。内容挺硬的,都是工作中实打实用得上的,在这推荐给大家,而且申请到了特别优惠。

云原生时代,容器永生

输入专属口令:rongqi666

到手仅 ¥69,半价秒杀

即将涨价至 ¥129

 

他是如何讲透容器的?

内容的设计上,参考操作系统的模块划分,依次讲解容器进程、容器内存、容器存储、 容器网络、容器安全这 5 大模块,从实际问题入手,带你系统掌握容器核心点 Namespace 和 Cgroups,并理解其对传统操作系统行为的影响。

比如,Memory Cgroup 对 Pagecache 和 Swap 空间有怎样的影响;在 proc 文件系统下,我们的网络参数应用了 Network Namespace 后,需要如何重新设置,等等。

给大家梳理了一些重点问题:

  • 进程与CPU问题:如何清理僵尸进程?如何拿到容器CPU的开销?

  • 内存问题:OOM Kill到底是怎么一回事儿?为什么容器的内存使用量总在临界点?

  • 容器存储:OverlayFS系统是如何工作的?如何限制容器把宿主机磁盘写满?

  • 容器网络:容器网络不通怎么调试?如何处理网络乱序包?

  • 容器安全:容器中的Privileged权限和root用户的适用场景是什么?

 

此外,他还专门做了一个专题加餐。通过一个真实案例,带你了解 perf,ftrace,bcc/ebpf 这几个 Linux 调试工具的原理,熟悉它们在调试问题的不同阶段所发挥的作用,并用它们解决现实场景中复杂的容器问题。

有多干货,来看看目录:

云原生时代,容器永生


口碑相当不错,我随便截了几个,你可以看看:


 

再提醒一遍

专栏即将涨价至¥129
今日秒杀+口令 「rongqi666」
半价入手,仅 ¥69
新人首单,仅需  ¥59.9
 

点击上图,免费试读

 

以上是关于云原生时代,容器永生的主要内容,如果未能解决你的问题,请参考以下文章

云原生时代下,容器安全的“四个挑战”和“两个关键”

云原生在京东丨云原生时代下的监控:如何基于云原生进行指标采集?

把握云原生,GOTC「开源云原生计算时代」分论坛议程公布

云原生时代,开发者如何构筑容器安全?

面向云原生的应用/算力架构的想法

云原生时代,如何“玩转”容器安全?