回到主页

UWinRelease | 云原生产品线又一重磅特性发布——工作空间

新年伊始,优维科技云原生产品线在2020年的鼠年新春中,迎来了全新的特性发布——支持产品团队在Kubernetes集群上进行服务部署、配置管理、团队成员和角色管理的工作空间正式上线。

· 平台发布
broken image

设计背景

在工作空间发布前,EasyOps 已经披露了它的容器部署、容器配置等系统,新的特性发布在此基础上进一步完善了企业对产品团队在Kubernetes集群上的资源管控、权限控制、成员管理以及服务在多云Kubernetes上的支撑能力,例如以下是企业在使用 Kubernetes 时常见的一些的场景:   资源管控:Kubernetes集群资源是共享的,公司内部的多个产品团队如何管控自己的资源需求,既可以满足自己的需求,又不影响其他团队的资源;

多云k8s应用支撑:产品团队在服务开发、测试到部署运营过程中,可能使用多套不同环境,Kubernetes集群,甚至是同一个环境下的多个地域、多个云服务提供商的Kubernetes集群;

成员/权限管控:产品团队本身对团队成员的服务发布、配置管理等操作的统一授权,涉及到团队成员的管理以及角色管理的统一管理;

服务批量部署/灰度发布:产品团队可能负责一个或者多套业务系统,涉及到数十个甚至上百个微应用的开发和部署运营,这些微应用又如何能批量部署。

EasyOps 的工作空间将为大家一一解读这些困惑。

特性解读

接下来,我们将详细解读一下工作空间将从哪几个模块来帮助产品团队,它们分别是:

1、资源池管理

Kubernetes 对产品团队的资源管控上提供命名空间的解决方案,工作空间的管理员可以为工作空间分配 Kubernetes 的命名空间,每一个命名空间为一个资源池,它有以下的规则限制:

l 同一个Kubernetes集群下的一个命名空间,只能分配给一个工作空间来创建资源池,不允许重复使用;

l 同一个工作空间可以创建多个资源池,来支撑不同环境、不同地域、不同的服务提供商的Kubernetes集群资源使用;

l 应用的工作负载和配置、密钥、以及使用的PVC,必须在资源池上创建。

资源池一方面可以为产品团队设置总的配额需求,例如对CPU核心数、内存容量等计算资源的限制,又或者是Kubernetes对象数量的限制,如工作负载数量、ConfigMap数量、Secret数量、PVC数量等。

broken image

另一方面,资源池可以为应用的工作负载设置默认的资源限制,应用服务在创建时默认使用此资源配额:

broken image

最后,资源池还支持对存储进行管理,用户可以在资源池中创建Kubernetes PVC磁盘,提供给业务使用。

2、部署管理

管理员设置好工作空间的资源池后,团队成员就可以使用部署管理对应用服务进行发布了。

作为工作空间的核心模块,部署管理包装了“部署单元“作为承载微服务部署的最小单位,部署单元为镜像设置工作负载和k8s服务,支持用户对工作负载进行扩容缩容、镜像版本升级、设置健康检查、环境变量、资源限制以及存储挂载等服务。

用户可以使用部署管理的“快捷部署“来对多个应用的部署单元进行批量升级:

broken image

部署管理的其他功能也将马上为大家披露,例如:

l 部署审计:跟踪和追溯用户对部署单元的操作记录;

l 应用路由:为部署单元的Kubernetes Service 设置路由规则(Kubernetes Ingress);

l 灰度发布:通过 Ingress 实现部署单元的蓝绿部署。

同一个服务通过在不同的资源池上创建部署单元,从而快速在不同的环境或者云服务提供商的Kubernetes集群中发布。

3、配置中心

作为工作空间的核心模块,团队成员可以使用配置中心在资源池上创建 ConfigMap 和 Secret,然后部署管理模块中的部署单元,可以对这些配置进行挂载和使用。

broken image

同样,和部署单元一样,配置和密钥也可以多个资源池上进行创建,实现统一的配置管理。

4、成员管理

产品团队的管理员,可以批量邀请团队成员加入到工作空间,并且为这些成员设置相应的角色和权限。

目前工作空间支持的默认角色为空间管理员、部署人员、配置人员、访客,其中:

l 空间管理员:拥有最高的权限,可以对空间设置资源池,邀请团队成员和分配权限,对配置和服务进行管理;

l 部署人员:可以使用部署管理对应用的服务进行部署、流量路由,也可以在配置中心在管理ConfigMap和Secret;

l 配置人员:可以使用配置中心,管理ConfigMap和Secret;

l 访客:只有最基本的查看权限,没有操作权限。

使用流程

最后,为大家总结一下EasyOps工作空间的基本使用流程,简单明了,一张图搞定!

broken image