# 云托管概念说明
云托管使用与云函数不同的一些概念,下面将对这些概念进行介绍。
# 端口监听
云托管需要显式配置监听 HTTP 请求的端口,默认为 80。如果使用自己的容器,需要确定监听的端口与版本配置的端口号一致,才能让请求正确的路由到容器内部应用中。
在示例应用中,我们在代码指定了监听端口,即 80 端口。
# 开发模式
云托管可以使用任何语言、任何框架编写应用,甚至直接使用公共的容器镜像。与云函数不同的是,为了提供应用所需要的基本运行环境,需要编写 Dockerfile
指定所使用的容器镜像。
# 流量分配
云托管中流量分配策略与云函数相近。在创建版本的时候,默认该版本不会被分配流量,需要在稍后版本创建成功后,点击「分配流量比例」,为新的版本分配流量。
在创建版本时,也可以直接选择「开启 100% 流量」将版本直接设置为全部流量的版本。
为了版本的迭代安全,建议待容器正确启动,且按比例灰度一段时间后,再切换流量到新的版本。
# Dockerfile
容器 Dockerfile 是云托管为应用创建基础环境所用到的配置文件。
# 构建目录
在云托管构建镜像时,默认使用根目录构建。如果需要构建的文件在子文件夹内部,可以在此指定。
# 容器规格
云托管支持指定多种容器规格,支持的规格如下:
CPU 核心数量 | 支持的内存 |
---|---|
0.25 | 0.5GB 1GB 2GB |
0.5 | 1GB 2GB 3GB 4GB |
1 | 1 - 8 GB(整数) |
2 | 4 - 16 GB(整数) |
4 | 8 - 32 GB (整数) |
8 | 16 - 32 GB (整数) |
12 | 24 - 48 GB (整数) |
12 | 32 - 64 GB (整数) |
可以根据容器需要进行选择。
# 实例数量
指当前服务版本在自动扩缩容时可达到的最大实例数及最小实例数。最小值下限为 0,最大值上限为 50。默认最小值为 0,最大值为 50。
# 扩缩容条件
当达到某个条件时,云托管会自动会创建/删除一个实例,冷却 15 秒后,检测是否再次达到条件,如果满足条件则继续扩缩容,如此反复直至实例数量达到副本个数的最小值/最大值,或不再满足扩缩容条件时停止自动扩缩容。
目前仅支持 CPU 使用率作为扩缩容条件,即当前实例 CPU 使用率超过设定值后,若实例数小于最大副本个数,则创建出一个新的实例。默认值为 60%。
# 日志采集路径
可设置目录或文件,支持设置多个路径。采集到的日志可以在日志中查看。默认路径为 stdout。
# 环境变量
用户所需的环境变量,直接传入容器中。以 key value 的形式可配置多个。
# 云调用令牌
云托管服务使用云调用时所需的access-token。
订阅 用户在微信开发者工具云开发控制台创建容器服务版本时,可勾选开启 access_token 自动同步能力。
推送 用户开启后,微信开始定时周期性进行 access_token 推送,并确保推送成功,access_token 将被推送到用户云托管环境下用户资源中进行存储。access_token 有效期为30分钟,推送间隔为10分钟。
使用 用户云托管环境中的 access_token 将会以只读权限挂载到用户容器中,挂载路径为:/.tencentcloudbase/wx/cloudbase_access_token 。微信推送新的access_token后容器中的access_token会同步更新。用户可以读取 access_token 并在请求时放到请求参数上,用户需要主动在 access_token 更新后替换,如定时轮询文件或 watch 文件变化,或每次读取文件。
取消订阅 用户删除全部开启推送的版本后,取消订阅。