开篇词 | 一个态度两个步骤,成为容器实战高手
该思维导图由 AI 生成,仅供参考
怎么理解容器的知识体系?
怎么解决容器问题?
我是怎么设计这门课的?
- 深入了解
- 翻译
- 解释
- 总结
李程远在极客时间专栏中分享了他在处理容器相关问题的经验和见解。他介绍了自己的背景和在eBay团队迁移百万个容器的经历。他强调了理解容器知识体系的重要性,指出容器问题最终都会归结到Linux操作系统上。他总结了解决容器问题的态度和步骤,强调了深入挖掘问题根本原因的重要性,并提出了化繁为简、重现问题和将黑盒系统变成白盒系统的两个解决步骤。文章内容深入浅出,为读者提供了解决容器问题的实用方法和思路。 在这门课程中,李程远将零散的知识点体系化,按照类似操作系统的模块划分,为读者讲述容器的核心内容,包括容器进程、内存、存储、网络和安全等方面。他强调了系统掌握容器核心点Namespace和Cgroups的重要性,以及理解它们对Linux原有模块的影响。此外,他还特别强调了工具的重要性,但同时强调了先掌握知识体系的重要性。在课程结束后,他还将提供一个专题加餐,让学习者通过实际案例来熟悉Linux调试工具的使用。 李程远建议学习者在课程学习过程中准备一台安装有Linux的机器,或者安装一个虚拟机来跑Linux,以便跟着他的讲解进行实际操作。他鼓励学习者组团学习,共同学习、互相鼓励,同时欢迎学习者通过留言区与他交流互动。最后,他希望通过这个专栏帮助学习者打开容器这扇窗,建立起自己的容器知识体系,提升实力,吃透原理,在技术之路上共同前进。
2020-11-16102人觉得很赞给文章提建议
《容器实战高手课》,新⼈⾸单¥59
全部留言(29)
- 最新
- 精选
- kimoti想问老师,既然容器的问题那么多为什么还要用容器技术?跑物理机不香吗?
作者回复: @kimoti, 这是一个很好的问题!我们在把eBay的一些核心应用从物理机迁移到容器的时候,很多同事也提出过同样的问题。 不过现在再回过头看,我们可以看到的好处是: 1,对于应用,它容器化之后,发布和部署更加方便,特别是在扩容的时候更快了。 2. 对于平台,我们用一套平台kubernetes来管理所有的应用,对于硬件资源的利用率得以提高。 所以容器化后,带来的好处是,开发效率的提高,资源利用率的提高。
2020-11-16333 - kissingers有了k8s 还需要这么深入的学习容器吗?
作者回复: k8s是解决容器平台控制平面的问题,比如把容器调度到一个合适的宿主机上。 而容器一旦在宿主机上运行起来之后,它的隔离方式是否正确,资源的限制是否合理,它自身的性能是否会出问题,它是否会影响到同一个宿主机上别的容器,或者直接影响到宿主机,这些问题的考虑,就需要容器相关知识了。
2020-11-18218 - 我来也# 在9月份就开始期待老师的这门课了. 当时为了在k8s中排查类似[TCP SACK 补丁导致的发送队列报文积压](https://runsisi.com/2019-12-19/tcp-sack-hang)的问题, 期间看过了老师的3篇文章: [eBay云计算“网”事|网络超时篇](https://mp.weixin.qq.com/s/ZUS94PMCKsqgZFHX9b99-g) [eBay云计算“网”事|网络丢包篇](https://mp.weixin.qq.com/s/IpUr3pnVgMInqKAkBfawtA) [eBay云计算“网”事|网络重传篇](https://mp.weixin.qq.com/s/mN2rDdYvxRvAqKt7aiDxkQ) 后来居然在极客时间的课程表上看到了老师的名字,到现在足足期待了2个月! # 两个步骤: 化繁为简,重现问题 + 把黑盒系统变成白盒系统 我是非常认同的. 只有化繁为简,缩小了范围,才能有针对性的分析. 打开内核源码,将黑盒变白盒. 一言不合上源码,这个是我向往的,目前还遥不可及. # 期待老师的课程内容 之前试读过两篇文章,先睹为快,更是期待.������
作者回复: @我来也,谢谢你的支持!我们可以在后面的课程里有更多的交流!
2020-11-1613 - 每天晒白牙一个态度 不要浅尝辄止,要刨根问底 两个步骤 1化繁为简,重现问题 2想办法把黑盒系统变成白盒系统 这个方法同样适用其他地方
作者回复: 是的,技术是想通的 :-)
2020-11-1735 - Ethan Liu能对GPU使用cgroup和namespace吗?
作者回复: 目前还没有。
2020-11-1934 - 光很期待这个课程,老师我有个实际问题问下,目前我们有些数据库需要容器化但是考虑存储性能问题最终选了localpv 方式,但是我发现这个方式存储类没法后续动态扩容,又考虑使用SSD 硬盘通过rook operator 自建ceph 存储。不知道这方面老师有什么建议——包括存储选型以及数据库本身在K8S 容器化中的一些其他性能建议。
作者回复: @光,这是一个很好的问题。 对于运行在kubernetes平台上的容器,其实如果可以用network volume那是最好的,这样可以做到了存储与计算分离,从系统的稳定性与维护的方便性来说都是最好的选择。不过有个前提是,需要你们自己有能力维护ceph cluster的能力。 用本地存储最大的好处应该是I/O latency低,不过这个也要看你的应用的需求。 local PV动态扩容也是有机会的,如果local PV是基于lvm, 还是可以做一定程度的扩容,不过上限还是本地所有磁盘的容量。
2020-11-1824 - BertGeek一套系统通过不同容器互相依赖实现系统可用,如何发布和管控这些容器 1. 如果某个容器宕机了,可以自动重启 2. 如果这套系统,某个容器非up状态,如何发现 3. 目前没用到K8,应用只是通过docker 容器运行 希望听听老师高见。非常期待,谢谢!
作者回复: 可以参考一下kubeneters liveness probe 以及 node problem detctor的检测方式,比如: 1. 对容器中服务端口的定期检测, 2.在宿主机上启动一个daemon来检测docker容器的状态。 检测出问题之后,定义可以再定一个统一的remediation策略来自动修复。
2021-04-213 - hadoop_admin公司最近需要上docker和kube了,一头雾水呀,linux 知识薄弱,以前弄hadoop 运维,希望能在这里入门
作者回复: 希望这门课可以帮到你
2020-11-183 - 上邪忘川最后一句话太好了,我在容器中目前比较疑惑的是容器和firewall(centos7)的关系。比如开启一个80端口的nginx容器,然后关闭firewall,清空nat规则,依旧能访问nginx容器
作者回复: @ 上邪忘川 > 最后一句话太好了 谢谢你的认同。 > 我在容器中目前比较疑惑的是容器和firewall(centos7)的关系。比如开启一个80端口的nginx容器,然后关闭firewall,清空nat规则,依旧能访问nginx容器 对于你的这个问题, 我想你这里说的firewall应该是iptables。至于 iptables nat rules, 清空之后,如何可以访问到容器中的80端口,这个需要看几个方面: 1. 容器的Network Namespace的配置,容器的IP地址和宿主机是一样的吗? 2. 容器的接口配置和宿主机上的交互方式?不一定是用nat方式 3. 是从哪里访问访问容器的80端口的?宿主机上还是宿主机外? 你可以提供一些更详细的信息。 还有这些问题, 我在容器网络这一章里都会讲解,到时候我们可以做更加深入的分析。
2020-11-1642 - Wen李老师您好,我有两年的linux运维工作经验,目前做的是互联网产品售后的工作,容器基本是零基础,这个专栏适合我这样零基础学习吗?我以后目标是从事运维开发的工作,想从容器开始
作者回复: @Wen, 你有Linux的操作经验,学习操作容器应该会很快的。 你可以先练习一些容器的基本操作后,再来学习这门课。
2020-11-241