云原生落地:企业级DevOps实践
上QQ阅读APP看书,第一时间看更新

1.5.2 什么是编排

容器化之后,以Docker为例,可以通过CLI(Command Line Interface,命令行界面)来管理容器的生命周期,比如将容器提交到新镜像上、上传镜像到注册中心、终止运行中的容器、资源调度和部署、配置管理、资源分配、根据负载扩展或移除容器、流量路由、监控报警、滚动更新等。CLI虽然可以满足单个主机上管理容器的需求,但是面对集群、跨主机的容器管理就显得无所适从了。同时,大部分工作都需要人工操作,重复、低效且容易出错,容器编排工具的出现消除了部署和扩展应用过程中的很多手动操作,提供了一个管理容器生命周期和可扩展微服务架构的框架。随着企业的使用和社区的活跃,Kubernetes目前已经是企业实践的主流编排工具。

当使用容器编排工具时,需要使用YAML或JSON文件来描述应用程序的配置。配置文件会告知配置管理工具在哪里下载容器镜像、如何设置网络、如何保存日志等。容器编排工具同时会定义很多新的概念,如Node、Pod、Service、Deployment、Kubelet等以方便对容器进行操作,这里不做具体展开。下面介绍容器编排的优点。