V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rio
V2EX  ›  Podcast

内核恐慌 #8: 「集装箱化」与运维管理

  •  1
     
  •   rio · 2015-01-14 12:05:43 +08:00 · 5694 次点击
    这是一个创建于 3630 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://ipn.li/kernelpanic/8/

    在这里集中讨论吧 :)
    19 条回复    2015-06-01 10:18:20 +08:00
    Daniel65536
        1
    Daniel65536  
       2015-01-14 12:13:23 +08:00 via iPhone
    官方贴出现……
    9hills
        2
    9hills  
       2015-01-14 12:19:40 +08:00   ❤️ 1
    这种播客不适合技术传播,信息密度太低。几个字节/s的传播速度。
    我没有那么多时间可以浪费。开头听了几分钟没听到干货的退散

    不如精炼下成一篇文章,花10min仔细阅读,比花2h来讲来听要有效率的多
    jiyee
        3
    jiyee  
       2015-01-14 12:46:28 +08:00
    @9hills 这不是让内核恐慌也出会员计划么。
    xawyzen
        4
    xawyzen  
       2015-01-14 13:29:37 +08:00   ❤️ 1
    @9hills 如果把播客当作听干货学东西的源头,我就觉得这姿势不对。李如一有期节目提到,听播客就是图有个人陪着你的感觉。听播客节目就是听对某个话题有一样兴趣的人闲聊,偶尔会听到一些以前不知道的有意思的东西就非常开心了。关于浪费时间这事,一个人也不可能 24/7/365 像打鸡血地做一些所谓「有意义」的事情,而且听播客是一件 eyes free, hands free 的事,很适合坐公交做家务的场景,这和阅读文章其实真的是两码事。
    9hills
        5
    9hills  
       2015-01-14 13:48:51 +08:00
    @xawyzen 但是这个风格很沉闷啊,各有喜爱吧,我反正听不了。。。有这种情况听相声都行
    zakokun
        6
    zakokun  
       2015-01-14 13:58:10 +08:00   ❤️ 2
    听了这一期,下单了<集装箱改变世界>这本书,从来没有意识到看起来普普通通的铁箱子居然能有这么多的门道在里面
    Liebe
        7
    Liebe  
       2015-01-14 14:46:02 +08:00
    可以隔一段时间出一个精华版,这样找干货的直接看精华版就行。想听感觉呢就一期一期听好了。
    archean
        8
    archean  
       2015-01-14 14:58:04 +08:00
    坐地铁看 Kindle, 开车听播客.
    要干货? 读教材吧.
    jason52
        9
    jason52  
       2015-01-14 21:39:04 +08:00   ❤️ 2
    我去,都没有正经回复呀。我也来水一贴。

    讲 docker 应该不可避免讨论一下 另一个 vagrant。这也是一个环境的抽象和封装。

    我一直认同这句话,系统应该是对用户透明的。在桌面系统上,用户的目的是为了写文档,聊天,看电影,他不应该在乎什么样的OS支撑着这样的服务。而在服务器是上面,我其实比如是需要一个lamp环境,至于怎么由一台裸 linux 到有这个环境的服务器,是不应该有我关心的。

    所以vagrant直接分配有环境的box,在公司里面,开发封装好环境给测试,给运维,具体的过程是不需要(不值当)人去处理的。

    这个就是后半部分说讲到的玄学了,所谓状态的切换过程我不关心,我们只希望量子力学里面的跳变,一个状态直接跳转到另一个就好啦。

    写程序的时候偶尔也会接触到写配置,据说某些公司实习生一开始的工作就是维护一份配置。其实改配置也是在参与到编程之中啊!? 如果上层的程序抽象的足够,下层的确就是在改一份配置而已。

    类似测试qtp 提出数据驱动,其实就是一张表,给出一份对应关系。这是不是很像之后运维人员的工作呢。用一份配置来改机器。

    这说道最后,又是数据即代码。酷壳上面两篇文章讲的挺好:

    http://coolshell.cn/articles/10337.html

    http://coolshell.cn/articles/10652.html

    ===

    不过,真心解决问题的时候,有时候又会发现,哎,配置里面要有个判断!!!要有个循环!!!肿么办, dirty hack 出现!!!!
    0ver1oad
        10
    0ver1oad  
       2015-01-14 21:46:54 +08:00
    我很好奇楼主是怎么移民加拿大的,什么时候和吴涛在公论中分享下移民经历?
    metaphox
        11
    metaphox  
       2015-01-14 22:00:03 +08:00   ❤️ 1
    @jason52 我们在做准备时的确想到了Vagrant,不过Vagrant本质上是虚拟机级别的管理和配置,而Docker则是运行容器,Docker Container可以跑在Vagrant Box中。节目结尾我们也说到,虚拟机级别的部署是目前的主流,而集装箱级别的部署看起来应该会是将来的方向。
    metaphox
        12
    metaphox  
       2015-01-14 22:11:23 +08:00
    @9hills 我们的节目的确不适合凡事讲求效率、没有时间可以浪费的人。相声的确更适合您。
    rio
        13
    rio  
    OP
       2015-01-14 22:49:51 +08:00   ❤️ 1
    @jason52 之前在知乎的时候我们也是用虚拟机的方式进行开发的。当时 Vagrant 还不是很成熟稳定,而那时候我们的需求比较简单,所以我们做了个基于 Python 的替代品,叫 Hobox,让新人一键式搭建好一个基本的开发测试环境。不过 Vagrant/Hobox 这样的虚拟机不太方便的地方是用上一段时间后就会发生 diverge,每个人运行的虚拟机状态变得不一致,给后期的开发测试造成问题。

    虚拟机的另外一个问题是太重,不太可能在每个开发者的机器上运行多个,这就要求把很多依赖的服务打包到少数几个(通常是一个)虚拟机里面,里面的依赖关系很容易搞乱。升级也不是很方便,毕竟重建虚拟机镜像的成本还是太高了,不可能经常做。

    Container 能够比较好的解决这些问题。
    jason52
        14
    jason52  
       2015-01-14 23:21:04 +08:00
    @rio
    @metaphox

    我认为 Container 与虚拟机 轻重之间 trade off 的考量,正如同一个标准的集装箱到底应该多大这个问题的思考。我之前还没有仔细思考过为啥一个集装箱应该这么大!!


    在类比这个 metaphor 的过程中,我觉得反过来考虑为比特世界的抽象问题也一样合适。而且,我认为数字世界的改变更有可能发生。因为集装箱的大小受限于车道的宽度,汽车的马力,以及物理世界中散货大小的分布。但数字世界中的抽象更有可能因为硬件的升级,带来软件方面的福利。


    不过隔离问题还有待解决~~~
    liwei
        15
    liwei  
       2015-01-15 15:53:48 +08:00   ❤️ 1
    关于Container在Linux上依赖的关键技术应该是namespace而不是cgroups,namespace提供了资源的隔离,cgroups负责资源的限制。
    rio
        16
    rio  
    OP
       2015-01-17 05:27:05 +08:00
    @liwei 是的。不过其实两个都要用,二者间是正交的关系。LXC 的两大基石便是 cgroups 和 namespace。
    2owe
        17
    2owe  
       2015-01-25 19:37:13 +08:00   ❤️ 1
    上下班路上会听内核恐慌和 IT 公论,算是一枚拥趸啦! ( ऀ ˡ̼̮ ऀ )

    觉得贵节目最棒的是,尽管来来回回就你们几位,但无论内容还是角度都是很好的(ps. 我也是 Vim 用户)。一开始是被uber 与微信那期 https://ipn.li/itgonglun/128/ 吸引,而后慢慢都找来听。

    Soft code or hard code 从来都不该是什么问题吧,关键能把自己擅长的、想表述的内容传达清楚即可。我觉得你们做得很好。加油!
    rio
        18
    rio  
    OP
       2015-01-25 23:42:18 +08:00
    @2owe 感谢支持!:)
    zeroday
        19
    zeroday  
       2015-06-01 10:18:20 +08:00
    你们的节目太精彩了。了解到了很多有趣的技术。最近刚刚拿到一个平台研发的实习岗。

    招聘提到的职责是:
    贡献开源社区,修复BUG;
    构建基于Docker的PaaS平台

    请问在入职之前要学习哪些基础知识呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5678 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 01:44 · PVG 09:44 · LAX 17:44 · JFK 20:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.