云原生定义

Pivotal官方网站对云原生最新论述如下∶

  • 云原生是一种构建和运行应用程序的方法,它利用了云计算交付模型的优势。
  • 云原生关注如何创建和部署应用程序,而不是在何处。
  • 虽然现在公有云影响了几乎每个行业的基础设施投资思想,但类似云的交付模式并不仅限于公有云环境,它适用于公
    有云和私有云。
  • 云原生结合了DevOps、持续交付、微服务和容器的概念。
  • 当公司以云原生方式构建和运营应用程序时,它们可以更快地将新想法推向市场并更快地响应客户需求。

云原生核心理念

  • 解耦软件开发,提高灵活性和可维护性。
  • 多云支持,避免厂商锁定。
  • 避免侵入式定制。
  • 提高工作效率和资源利用率。

云原生应用综合理解

  • 基于云原生的相关技术,设计运行在云上的﹐充分发挥云优势的应用。
  • 一般采用容器的打包分发,部署的形式。应用内(间)采用微服务的架构。充分利用云提供的组件服务,采用DevOps的组织架构和方法,通过CI/CD工具链,实现产品和服务的持续交付
    DevOps
    微服务

容器是什么?

  • 容器是一种轻量级﹑可移植﹑自包含的软件打包技术﹐使应用程序可以在几乎任何地方以相同的方式运行。
  • 开发人员在自己开发环境创建并测试好的容器﹐无需任何修改就能够在生产系统的虚拟机﹑物理服务器或公有云主机上运行。

容器与虚拟机

  • 容器和虚拟机之间的主要区别在于虚拟化层的位置和操作系统资源的使用方式。
  • 容器剔除了操作系统与基础服务器直接的中间软件层,它直接利用了宿主机的内核,抽象层比虚拟机更少,更加轻量化,启动速度极快。

容器 VS 虚拟机

容器的生命周期

  • created(已创建)
  • restarting(重启中)
  • running(运行中)
  • removing(迁移中)
  • paused(暂停)
  • exited(停止)
  • dead(死亡)

Docker

Docker命令

Docker命令

容器编排平台K8s

Kubernetes

  • Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Google 在 2014 年开源了 K8s 项目。
  • 为什么需要编排,因性能与业务的发展容器数量开始疯狂增加,这时就需要一个统一的工具来管理。所以应运而生容器编排平台。

cloud