应用管理

最近更新时间:2020-05-12 20:10:11

应用概述

应用是基于Kubernetes工作负载(Workload)的一种资源组合的表现实体。是KENC用于描述业务的运行载体。分为无状态应用(Deployment)、有状态应用(StatefulSet)、任务-暂未开放(Job)、定时任务-暂未开放(CronJob)、守护进程-暂未开放(DaemonSet)。同时其他的Kubernetes资源如服务Service等通过标签(Tag)app:[appname]与应用关联起来。形成有机的整体发布到边缘节点对外提供服务。

在发布至边缘节点时,与应用相关联的访问接入(Service、Ingress、EIP)、存储、配置集等会跟随应用一同发布。这样可以有效的简化发布流程,避免资源漏发等问题。

应用类型

  1. 无状态应用

Kubernetes的Deployment,无状态应用支持弹性伸缩与滚动升级,适用于自身基本独立,其不需要在服务端本地保存其服务上下文关系的应用。例如nginx、memcache等。

  1. 有状态应用

Kubernetes的StatefulSet,有状态应用支持实例有序部署和删除,支持持久化存储,适用于实例间存在互访,且需要持久化保存服务状态的场景,例如etcd、mysql等。

  1. 任务

Kubernetes的Job,任务是一次性运行的短任务,部署完成之后即自动运行。一般用于做一些不需对外提供服务的处理操作。

  1. 定时任务

Kubernetes的CronJob,定时任务是按照指定时间周期运行的短任务。诸如服务间时间同步,定时上传日志等一般用其实现。

  1. 守护进程集

Kubernetes的DaemonSet,守护进程集确保某些(或全部)节点都运行一个容器组(Pod),适用于每个节点都需要运行一个固定实例的场景,诸如日志收集等。

应用与各个资源的关系

  1. 容器

一个应用由一个或多个容器组(Pod)组成。一个容器组由多个容器实例构成,每个容器组都是通过应用所配置的镜像启动的,在此即可以使用前期上传至镜像仓库中的镜像,或者直接使用公共镜像仓库中的镜像。

  1. 访问接入

访问接入分为三种类型,服务(Service)、路由(Ingress)、弹性IP(EIP)。对于服务和路由,应用通过app:[appname]标签与其关联,发布应用到边缘集群时,会同时发布访问接入;如果应用绑定弹性IP,容器直接对外暴露公网IP并提供服务。

  1. 存储

KENC提供的存储主要为容器存储和本地持久化存储卷(LocalPV)的形式,其与应用同样通过标签关联和发布。带有LocalPV的应用发布到边缘节点后,会自动在宿主机创建存储卷,同时每次调度时都会保证应用调度到存储卷所在的宿主机上。

  1. 配置集和加密字典

与应用同样通过标签关联和发布。一个应用可以关联多个配置集,同样一个配置集也可以关联多个应用。

应用发布与下线

  1. 关联发布

应用发布时除了发布工作负载(Workload)本身外,还会将与应用关联的各种资源同时发布到指定的边缘节点。简化发布步骤,达到一次发布即可上线服务的目的。

  1. 关联下线

在应用下线时,因考虑到应用关联的配置集等资源有可能会被其他应用所应用。所以应用下线时可以选择是否将相关资源与应用同时下线。

  1. 模板管理

应用的每一次更改都会生成一个新的应用模板。平台支持对不同的边缘节点发布不同的应用模板,以应对更多的业务场景。但是更推荐的做法是将不同边缘节点上有区别的配置通过配置集的方式挂载到应用中。

日志与审计

  1. 日志

在控制台页面可以通过日志栏查看当前应用启动的容器组的运行日志。另外也可以通过使用KENC的日志服务实现日志搜集和检索。

  1. 审计

应用的审计主要为控制台操作的审计,会审计包括应用修改、发布、下线等通过控制台操作应用的行为。

金山云,开启您的云计算之旅

免费注册