应用管理概述

最近更新时间:2019-05-13 11:46:02

随着微服务和 Devops 的兴起,需要在多个环境中对多个服务进行部署和管理。这大大增加了部署操作的复杂度。腾讯云容器服务支持通过应用的方式对服务进行分组管理,极大的简化了服务管理的复杂度。同时,通过应用模板来保存服务的部署信息,通过配置来管理服务在不同环境下的差异化信息,实现在不同环境下通过应用模板+配置快速的部署服务。

应用管理主要概念

应用管理包括三个主要的概念:

  • 应用: 通过服务组的方式对多个服务进行统一管理。更多关于应用的说明可以参考 应用概述
  • 应用模板: 通过YAML形式的文本来描述服务的部署信息。方便用户将相同的应用部署到不同环境。更多关于应用模板的说明可以参考 应用模板概述
  • 配置管理: 在配置管理中可以将不同环境中差异化的部分通过配置项来区分,将应用中常变的值以变量的形式替代,方便修改和更新。

更多应用管理主要概念的说明可以参考 使用指引页面

应用管理的使用场景说明

应用管理的使用场景主要包括两个:一个是多环境下应用的快速部署,另一个是基于服务组的Devops流程管理。

多环境下的应用快速部署
多环境下应用的快速部署,如下图所示,通过应用模板+不同环境下的配置,可以快速的在不同的环境下部署应用。在应用模板中描述多个服务部署的信息,在配置项中设置不同环境下差异化的选项,例如: 实例副本数,数据库地址等。使用应用模板+配置实现快速的在多个环境中部署应用实例。更多关于多环境下部署应用可以参考 不同环境下Wordpress应用部署

多环境下应用的快速部署.png-20.6kB

基于服务组的 Devops 流程管理
在 Devops 的流程中,应用管理基于应用的概念对服务进行分组。基于服务组对关联性比较强的服务进行统一管理,降低管理多个服务的复杂度。

同时基于应用模板+配置实现在不同环境下管理的同步。修改服务的部署信息,可以通过应用模板来进行同步,从而实现多环境下信息的同步管理。

多环境下应用的管理.png-13.8kB

应用管理使用示例

我们用一个简单的应用nginxapp来进行说明,为了说明应用管理的使用方式。该应用下只有一个nginx服务。可以通过修改配置项中NAMESPACE变量的值,将应用快速的部署到不同的命名空间中。详细的内容可以参考示例 Nginx应用

Guestbook 是一个典型的web应用,包含前端 fronted 服务和后端的 redis-master 服务以及 redis-slave 服务。这些服务可以定义在一个应用模板内,通过描述性语言对服务的部署情况进行说明。将不同环境下差异的信息定义在配置文件中,从而通过应用模板和配置可以在不同环境中实现部署应用,并通过应用对这几个服务做统一的管理。详细的内容可以参考示例 Guestbook应用