服务介绍

应用管理基于Kubernetes技术为您提供了一站式应用生命周期管理和治理服务,可以帮助您简化应用管理的过程,实现云上高效运维。应用管理主要提供如下功能:

应用组

为了更好的将若干个共同支撑业务的应用抽象为一个整体,实现众多应用间的逻辑隔离,并对其进行统一管理,提出了应用组的概念。一个应用组中可以包含多个应用,用户在创建应用(即部署软件包)时需为应用选择所属的应用组。在应用组中,用户可实现对应用的生命周期管理,如增删查、启停、升级回滚等操作。对于Spring CloudIstio类型的应用组,还支持负载均衡、熔断、限流等服务治理功能。

应用列表

应用列表用于展示所有已创建的应用。您可以在应用列表中查看已创建的应用详细,并对其进行管理。

应用配置

配置项和密钥组成了Kubernetes的配置系统。应用配置的目的是为了将配置与容器分离,使配置信息不随容器的销毁或重启而消失或改变,容器创建后可直接加载使用,以实现最大化的可移植性;同时,通过统一的配置中心,也可以集中式的对配置信息进行管理维护。

应用是以容器的形态运行的,而Kubernetes的最小调度单位是Pod,一个Pod中存在一个或多个容器,因此,对于应用的管理本质上是对容器的管理。

 

应用仓库

应用仓库提供用于存储、管理应用包的场所。在应用仓库中可以轻松地存储、使用、管理应用包,将企业应用统一管理起来。

系统支持上传的应用包类型包括War包、Jar包以及Helm包。上传应用包时需选择存放的仓库类型,包括公有仓库和私有仓库。还可以在仓库中创建应用包分类,以便灵活分类存储应用包。

系统支持对应用包进行版本管理,即可以为一个应用包添加多个版本并上传该版本对应的文件。当上传的应用包与已有应用包同名时,系统可自动识别该应用包已有信息,如所属分类、历史版本信息,并将校验新版本号是否与旧版本号重复。另外还支持对应用包进行编辑、删除。

其他应用管理功能

对应用的管理根据应用的部署位置区分为容器应用和主机应用两种。

访问方式

1.      容器应用

应用管理为容器应用提供了服务、应用域名、网络策略三种对外提供服务的方式。

“服务”(即Service)是Kubernetes中应用提供服务的入口,是一个应用访问另一个应用的方式。Service代表一组Pod,由于Pod IP是随机的,且可能会因重启改变,因此不应该直接访问Pod IP。而集群IPService在集群中的具体实现,该IP地址一经创建便不会改变。Kubernetes负责建立和维护ServicePod的映射关系,因此用户只需要访问ServiceIP,无论后端Pod如何变化,对用户都不会有任何影响。Service提供了三种访问容器服务的方式:

图-1 Service架构图

 

“应用域名”(即Ingress)可以允许Kubernetes中一个应用通过域名的访问另一个应用,相当于一种“路由规则”,即通过域名将访问流量路由到对应容器。使用应用域名作为访问方式,需首先在DNS上配置域名与容器所在集群VIP的对应关系。

网络策略为应用提供了基于策略的网络控制,以白名单的方式支持指定远端访问本端容器端口,用于隔离应用并减少攻击面。使用网络策略作为访问方式的集群需要安装网络插件如CalicoRomanaWeave Nettrireme,系统默认已安装了Weave Net插件。

主机应用:为主机应用提供了应用域名和IaaS负载均衡两种对外提供服务的方式。

需配合IaaS负载均衡服务使用,将访问流量根据转发策略分发到后端多台虚拟机上。

弹性伸缩

Pod实例的个数进行调整。

服务治理

对于Spring CloudIstio类型的应用组,系统支持进行服务治理。服务治理由微服务引擎完成,系统支持Spring CloudIstio两种业内最常用微服务管理引擎,帮助您实现服务与服务间链路的可视化拓扑监控和微服务治理功能,包括调用链展示、服务启停、负载均衡、服务限流、服务熔断、故障注入、超时重试等。关于服务治理的更多介绍请参见[企业应用指南-微服务-服务介绍]章节的内容。

应用升级

应用升级包括替换升级、滚动升级和灰度升级三种策略。

·          部署到单个虚拟机实例的应用仅支持替换升级和灰度升级,部署到多个虚拟机实例的应用仅支持滚动升级和灰度升级。

·          部署到容器集群的应用仅支持滚动升级和灰度升级。

·          如需使用灰度升级需为应用配置应用域名作为访问方式。

 

如需使用灰度升级,需为应用配置应用域名作为访问方式。

 

应用回滚

升级后的应用会保留所有历史版本,您可以选择某个历史版本将应用回退到历史状态。