概述
云托管(Tencent CloudBase Run)是 云开发(Tencent CloudBase,TCB)提供的新一代云原生应用引擎(App Engine 2.0),支持托管任意容器化应用。
主要特性
任意语言、任意容器镜像
您可以使用任何语言、任何框架编写应用,甚至直接使用公共的容器镜像。
原生打通云上资源
您的应用可以直接访问 CloudBase 的其它云上资源,如云函数、云数据库等;也可以访问腾讯云的其它云上资源,如 CynosDB、MySQL 等。
按量计费
您的应用只在被访问时计费。
零运维,弹性伸缩
CloudBase 讲会根据应用的使用情况,自动伸缩计算资源,无需人工管理。
开通云托管
准备工作
- 开通 CloudBase 云开发环境
注意
- 包年包月环境无法开通云托管。
- 来源为“微信小程序”的环境暂不支持开通云托管。
第 1 步:开通
登录 云开发 CloudBase 控制台,选择一个环境,进入云托管管理页面,单击「立即开通」。
第 2 步:配置云托管
所在地域
云托管当前仅开放上海地域,更多地域将陆续开放。
云托管网络
网络设置包括 私有网络 VPC 和 子网。以环境为维度,云托管中创建的所有服务,都将部署在这同一个 VPC 之中,且成功开通云托管后不支持更换网络设置。
网络设置分为如下两种模式:
系统默认配置
云托管将为您自动新建一个 VPC 和子网,并将其绑定您当前的云开发环境。
后续您在当前环境下的云托管中创建的所有服务,都将被部署到这个 VPC 和子网中。
此过程无需您手动进行任何设置。后续您可以在 私有网络控制台 中查看并管理这个由云托管自动创建的 VPC 及子网,也可以将更多云资源(例如云服务器,云数据库等)部署在这个 VPC 之内,以便这些云资源进行互动。
自定义配置
如果您之前已经创建过私有网络 VPC 和子网,并在其中已经部署有其他云资源(例如云服务器、云数据库等),且需要您的云托管应用与这些已存在的云资源进行互动,则您可以选择「自定义配置」,然后选择具体的 VPC 和子网。
VPC 只能选择一个,子网支持选择多个。
开通成功
单击「提交」,状态变为开通中,请等待数秒。
开通成功后,您将自动跳转到云托管的服务列表页面。
至此您已经成功开通后云托管服务,您可以单击「新建服务」开始新建您的第一个服务。
快速开始
准备工作
- 开通 CloudBase 云托管
第 1 步:新建服务
登录 CloudBase 云托管控制台,切换到指定的环境,单击「新建服务」:
在新建服务页面配置相关选项:
- 服务名称:本文示例填写为“helloworld”。服务名称作为环境下服务的唯一标识,创建成功后不支持修改。
- 镜像仓库:本文示例选择「使用系统默认仓库(推荐)」。
提示
云托管服务在创建时,会绑定一个腾讯云镜像仓库,后续该服务下的所有版本相关镜像,都必须存放在绑定的镜像仓库中。
更多关于腾讯云镜像仓库的介绍,请参见 容器镜像服务。
单击「提交」,即可新建服务。
第 2 步:新建、配置版本
完成以上步骤后,系统将提示新建版本:
单击「新建版本」:
- 上传方式:选择「镜像拉取」;
- 来源:选择「Demo」;
- 监听端口:保持默认值「80」;
- 流量策略:保持默认值「部署完成后保持流量为 0,稍后手动配置流量」。
随后点击「开始部署」,在控制台将看到版本状态初始为「创建中」,部署成功则状态变为「正常」:
提示
此时流量为 0%,还无法接受请求。如果单击「访问服务」,将提示错误。
第 3 步:配置流量
单击「流量配置」,将版本“helloworld-001”配置流量 100%:
成功后,可以看到流量变为 100%:
访问您的服务
单击「访问服务」,因流量已经配置为 100%,服务已经开始处理请求,可以看到 Demo 效果:
免费量说明
含有免费量的环境,每个月的免费量为720核*小时
也就是说,如果是1核1G的这种服务,可以运行30天不扣费
但是逻辑月的计算方式是当月x号到下月(x-1)号。 所以如果碰上大月(31天)的话,将会产生额外一天多的计费。
wafer2迁移方案
可以参考官方wafer2迁移到云托管文档
解决时区不一致的问题
容器系统时间默认为 UTC 协调世界时间 (Universal Time Coordinated),与本地所属时区 CST (上海时间)相差 8 个小时。当需要获取系统时间用于日志记录、数据库存储等相关操作时,容器内时区不一致问题将会带来一系列困扰。
操作步骤
在构建基础镜像或在基础镜像的基础上制作自定义镜像时,在 Dockerfile 中创建时区文件即可解决单一容器内时区不一致问题,且后续使用该镜像时,将不再受时区问题困扰。
- 打开 Dockerfile 文件。
- 在启动命令前写入以下内容,配置时区文件。
RUN rm -f /etc/localtime
&& ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
&& echo "Asia/Shanghai" > /etc/timezone
- 重新构建容器镜像,使用新的镜像重新部署。或直接上传含新的 Dockerfile 的代码包重新部署。