《Kubernetes 入门必备云原生发展简史》( 八 )

  • 第二个理论基础就是:云应用编排理论 。 当前的实现方式就是 Google 所提出来的“容器设计模式” , 这也是本系列课程中的 Kubernetes 部分所需主要讲解的内容 。

  • 基础设施向云演进的过程

    首先为大家介绍一下“不可变基础设施”的概念 。 其实 , 应用所依赖的基础设施也在经历一个向云演进的过程 , 举例而言 , 对于传统的应用基础设施而言 , 其实往往是可变的 。

    大家可能经常会干这样一件事情 , 比如需要发布或者更新一个软件 , 那么流程大致是这样的 , 先通过 SSH 连到服务器 , 然后手动升级或者降级软件包 , 逐个调整服务器上的配置文件 , 并且将新代码直接都部署到现有服务器上 。 因此 , 这套基础设施会不断地被调整和修改 。
     
    但是在云上 , 对“云”友好的应用基础设施是不可变的 。

    这种场景下的上述更新过程会这么做:一旦应用部署完成之后 , 那么这套应用基础设施就不会再修改了 。 如果需要更新 , 那么需要现更改公共镜像来构建新服务直接替换旧服务 。 而我们之所以能够实现直接替换 , 就是因为容器提供了自包含的环境(包含应用运行所需的所有依赖) 。 所以对于应用而言 , 完全不需要关心容器发生了什么变化 , 只需要把容器镜像本身修改掉就可以了 。 因此 , 对于云友好的基础设施是随时可以替换和更换的 , 这就是因为容器具有敏捷和一致性的能力 , 也就是云时代的应用基础设施 。

    推荐阅读