TCB系列学习文章——云开发的云托管(八)

2021-05-09 17:06:38 浏览数 (2)

概述

云托管(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 中创建时区文件即可解决单一容器内时区不一致问题,且后续使用该镜像时,将不再受时区问题困扰。

  1. 打开 Dockerfile 文件。
  2. 在启动命令前写入以下内容,配置时区文件。
代码语言:javascript复制
RUN rm -f /etc/localtime 
&& ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
&& echo "Asia/Shanghai" > /etc/timezone

  1. 重新构建容器镜像,使用新的镜像重新部署。或直接上传含新的 Dockerfile 的代码包重新部署。

0 人点赞