作者回复: @kimoti, 这是一个很好的问题!我们在把eBay的一些核心应用从物理机迁移到容器的时候,很多同事也提出过同样的问题。 不过现在再回过头看,我们可以看到的好处是: 1,对于应用,它容器化之后,发布和部署更加方便,特别是在扩容的时候更快了。 2. 对于平台,我们用一套平台kubernetes来管理所有的应用,对于硬件资源的利用率得以提高。 所以容器化后,带来的好处是,开发效率的提高,资源利用率的提高。
作者回复: k8s是解决容器平台控制平面的问题,比如把容器调度到一个合适的宿主机上。 而容器一旦在宿主机上运行起来之后,它的隔离方式是否正确,资源的限制是否合理,它自身的性能是否会出问题,它是否会影响到同一个宿主机上别的容器,或者直接影响到宿主机,这些问题的考虑,就需要容器相关知识了。
作者回复: @我来也,谢谢你的支持!我们可以在后面的课程里有更多的交流!
作者回复: 是的,技术是想通的 :-)
作者回复: 目前还没有。
作者回复: @光,这是一个很好的问题。 对于运行在kubernetes平台上的容器,其实如果可以用network volume那是最好的,这样可以做到了存储与计算分离,从系统的稳定性与维护的方便性来说都是最好的选择。不过有个前提是,需要你们自己有能力维护ceph cluster的能力。 用本地存储最大的好处应该是I/O latency低,不过这个也要看你的应用的需求。 local PV动态扩容也是有机会的,如果local PV是基于lvm, 还是可以做一定程度的扩容,不过上限还是本地所有磁盘的容量。
作者回复: 可以参考一下kubeneters liveness probe 以及 node problem detctor的检测方式,比如: 1. 对容器中服务端口的定期检测, 2.在宿主机上启动一个daemon来检测docker容器的状态。 检测出问题之后,定义可以再定一个统一的remediation策略来自动修复。
作者回复: 希望这门课可以帮到你
作者回复: @ 上邪忘川 > 最后一句话太好了 谢谢你的认同。 > 我在容器中目前比较疑惑的是容器和firewall(centos7)的关系。比如开启一个80端口的nginx容器,然后关闭firewall,清空nat规则,依旧能访问nginx容器 对于你的这个问题, 我想你这里说的firewall应该是iptables。至于 iptables nat rules, 清空之后,如何可以访问到容器中的80端口,这个需要看几个方面: 1. 容器的Network Namespace的配置,容器的IP地址和宿主机是一样的吗? 2. 容器的接口配置和宿主机上的交互方式?不一定是用nat方式 3. 是从哪里访问访问容器的80端口的?宿主机上还是宿主机外? 你可以提供一些更详细的信息。 还有这些问题, 我在容器网络这一章里都会讲解,到时候我们可以做更加深入的分析。
作者回复: @Wen, 你有Linux的操作经验,学习操作容器应该会很快的。 你可以先练习一些容器的基本操作后,再来学习这门课。