文档简介:
本文介绍如何应用资源管理。
从Serverless控制台左侧导航栏中依次点击【应用管理】【无状态】,进入容器详情页面,该页面可通过集群、命名空间的筛选,展示不同的应用,同时提供根据应用名称进行的搜索功能,帮助客户快速查找到相关应用。该页面将简单列举应用的部分信息,并可进行【升级】【回退】【伸缩】等操作,点击【更多】,还可实现【yaml编辑】、【暂停】、【启动】、【删除】等操作。
详情页查看
在【应用管理】【无状态】的应用列表页面,点击具体应用,即可进入详情页,在该页面可查看到应用的详细信息,包括实例信息、事件信息等。
标签、注解管理
进入应用管理详情页,应用详情栏,可找到【标签管理】、【注解管理】两项,点击后即可进入修改页面,按照需求进行标签注解的增加和删除。
回退
进入应用管理详情页,选择【回退】项,将进入回退页面,该页面记录了所有升级的版本,点击【回退到该版本】可完成版本的回退。
升级应用
用户可通过升级应用功能,完成对应用的镜像升级和配置更新。进入Serverless容器服务控制台,可通过两种入口,一个是在应用列表中,点击【升级】操作,跳转至升级详情页面完成升级;一个是通过应用详情页选择【升级】选项,进入升级详情页页完成升级,以下介绍第二种方式的操作步骤。
操作步骤
1.在左侧导航栏中选择【应用管理】【无状态】,单击已创建的应用,进入应用详情页面,选择【升级】页签。
2.根据业务需求完成参数填写,升级的参数说明请参见下表:
参数 | 参数说明 |
---|---|
容器配置 | |
选择镜像 | 在对应的容器下,单击【选择镜像】进行修改。 |
镜像版本 | 选择镜像对应版本。 |
容器名称 | 单击列表框,修改容器名称。 |
容器规格 | 对容器使用的vCPU、内存规格进行修改。 |
高级设置 | |
生命周期 |
支持对生命周期进行修改,为应用提供极大的灵活性。生命周期包括: 启动命令、启动后处理、停止前处理。具体步骤如【生命周期设置】。 |
健康检查 |
支持对通过探针监测容器进行修改,支持应用存活探针和应用业务探针。 具体步骤如【设置健康检查】。 |
环境变量 |
容器运行环境中设定的一个变量。可以在应用部署后修改, 为应用提供极大的灵活性。 在【环境变量】页签,单击【添加环境变量】;输入变量名称、变量/变量引用; |
数据存储 | 支持对数据存储进行修改,增加本地磁盘。步骤同【为应用挂载本地磁盘】。 |
3.更新完成后,单击【提交】,返回实例选项页面,此时可以看到实例已更换。
生命周期设置
在创建应用或升级应用的过程中,Serverless容器服务为您提供了设置应用生命周期的功能。本功能提供了回调函数,在容器的生命周期的特定阶段执行调用,比如容器在停止前希望执行某项操作,就可以注册相应的钩子函数。目前提供的生命周期回调函数如下所示:
1.启动命令:输入应用启动命令,容器启动后立即执行;
2.启动后处理:应用启动后触发;
3.停止前处理:应用停止前触发;
操作步骤
1.【启动命令】的操作步骤
在创建应用或升级应用操作的第二步【容器设置】流程中,点击【生命周期】页签,输入启动命令,当前启动命令以字符串数组形式提供,对应于 docker 的 ENTRYPOINT启动命令,格式为["executable", "param1", "param2",..],具体说明如下表:
命令方式 | 操作步骤 |
---|---|
可执行程序方式 |
在启动命令填框中输入可执行的程序,例如/run/server。 在启动命令填框中输入启动参数,例如--port=8080。 |
2.【启动后处理】的操作步骤
在创建应用或升级应用操作的第二步【容器设置】流程中,点击【生命周期】页签,选择【启动后处理】设置启动后处理的参数,具体说明如下表:
命令方式 | 操作步骤 |
---|---|
可执行程序方式 |
在容器中执行指定的命令,配置为需要执行的命令。 命令的格式为Command Args[1] Args[2]…(Command为系统命令 或者用户自定义可执行程序,如果未指定路径则在默认路径下寻找可执行程序), 如果需要执行多条命令,建议采用将命令写入脚本执行的方式。 |
3.【停止前处理】的操作步骤
在创建应用或升级应用操作的第二步【容器设置】流程中,点击【生命周期】页签,选择【停止前处理】设置停止前处理的参数,具体说明如下表:
命令方式 | 操作步骤 |
---|---|
可执行程序方式 |
在容器中执行指定的命令,配置为需要执行的命令。 命令的格式为Command Args[1] Args[2]…(Command为系统命令 或者用户自定义可执行程序,如果未指定路径则在默认路径下需找可执行程序), 如果需要执行多条命令,建议采用将命令写入脚本执行的方式。 |
设置健康检查
在创建应用或升级应用的过程中,Serverless容器服务为您提供了容器健康检查的功能。Serverless容器服务提供了两种健康检查的探针。
-
工作负载存活探针
用于检测容器是否正常,如果容器的存活检查失败,集群会对该容器执行重启操作;若容器的存活检查成功则不执行任何操作。 -
工作负载业务探针
用于检查用户业务是否就绪,如果未就绪,则不转发流量到当前实例。一些程序的启动时间可能很长,比如要加载磁盘数据或者要依赖外部的某个模块启动完成才能提供服务。这时候程序进程存活,但是并不能对外提供服务。这种场景下该检查方式就非常有用。如果容器的就绪检查失败,集群会屏蔽访问该容器的请求;若检查成功,则会开放对该容器的访问。
操作步骤
1.在创建应用或升级应用操作的第二步【容器设置】流程中,点击【健康检查】页签可进行【应用存活探针】及【应用业务探针】的配置;
2.完成执行命令、延迟时间、超时时间等参数的填写。
当前健康检查的功能仅支持【执行命令检查】的检查方式。命令检查是一种强大的检查方式,该方式要求用户指定一个容器内的可执行命令,集群会周期性地在容器内执行该命令,如果命令的返回结果是0则检查成功,否则检查失败。如果您需要使用TCP端口检查和HTTP请求检查,可以通过执行命令检查的方式来完成:
- 对于TCP端口探测,我们可以写一个程序来对容器的端口进行connect,如果connect成功,脚本返回0,否则返回-1。
- 对于HTTP请求探测,我们可以写一个脚本来对容器进行wget,并检查response的返回码,如果返回码在200~399 的范围,脚本返回0,否则返回-1。
为应用挂载本地磁盘
Serverless容器服务支持挂载本地磁盘,在【创建应用】流程和应用【升级】流程中均可进行设置,目前Serverless容器服务支持三种类型的本地磁盘挂载,分别为emptyDir、configMap、secret。
EmptyDir:用于临时存储,生命周期与容器实例相同。容器实例消亡时,EmptyDir会被删除,数据会永久丢失。
ConfigMap:将配置文件中的key映射到容器中,可以用于挂载配置文件到指定容器目录。
Secret:将密钥中的数据挂载到指定的容器路径。
操作步骤
1.在创建应用或升级应用操作的第二步【容器设置】流程中,点击【数据存储】页签可进行存储盘挂载配置;
2.点击【添加本地磁盘】将弹出相应的提示框。按需依次选择选择,完成信息填写。
存储类型:EmptyDir
存储类型选择emptyDir时,容器分配到节点时系统将自动创建卷,初始内容为空,在同一个Pod中所有容器可以读写emptyDir中的相同文件。当Pod从节点上移除时,empryDir中的数据也会永久删除。通常用于临时数据的高速存储,相关参数如下表所示:
参数名称 | 含义 |
---|---|
存储类型【emptyDir】 | 【磁盘介质】:默认为不勾选【内存】,不勾选时存储在硬盘上,适用于数据量大,读写效率要求低的场景;勾选【内存】时:存储在内存中,适用于数据量少,读写效率要求高的场景。 |
挂载路径 | 数据卷挂载到容器上的路径。注意:请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,应用创建失败。 |
权限 | 只读:只能读容器路径中的数据卷。可写:可修改容器路径中的数据卷,容器迁移时新写入的数据不会随之迁移,会造成数据丢失。 |
操作 | 删除:可执行删除操作,删除当前配置的路径。 |
添加容器挂载 | 可添加多个数据存储挂载。 |
存储类型:ConfigMap
平台提供应用代码和配置文件的分离,ConfigMap用于处理应用配置参数。用户需要提前创建应用配置,具体创建方法参照配置管理部分,相关参数如下表所示:
参数名称 | 含义 |
---|---|
存储类型【ConfigMap】 | 需要选择对应的ConfigMap名称;说明:ConfigMap需要提前创建,请参见【创建配置项】。 |
挂载路径 | 数据卷挂载到容器上的路径。 |
权限 | 只读:只能读容器路径中的数据卷。 |
操作 | 删除:可执行删除操作,删除当前配置项。 |
添加容器挂载 | 可添加多个数据存储挂载。 |
存储类型: Secret
用户需要提前创建私密凭据,操作步骤请参见【创建私密凭证】创建私密凭据,相关参数如下表所示:
参数名称 | 含义 |
---|---|
存储类型【secret】 | 需要选择对应的 secret 名称。说明:secret需要提前创建,请参见【创建私密凭证】。 |
挂载路径 | 数据卷挂载到容器上的路径。 |
权限 | 只读:只能读容器路径中的数据卷。 |
操作 | 删除:可执行删除操作,删除当前配置项。 |
添加容器挂载 | 可添加多个数据存储挂载。 |