使用容器服务 Serverless 版和ACR快速部署spring-hello应用

本文介绍如何使用容器服务 Serverless 版和ACR快速部署spring-hello应用。在本文中,您可以通过云效准备代码,通过ACR实例构建镜像,将spring-hello应用部署到ACK Serverless集群,然后即可利用外部端点访问应用。

前提条件

步骤一:准备代码

  1. 单击此处下载spring-hello.zip

  2. 将代码放至目标文件夹下,例如:D:\doctest,然后将代码解压至文件夹spring-hello。

  3. 创建云效Codeup代码仓库。详细信息,请参见新建第一个代码库

    1. 登录云效Codeup控制台,在页面右上角单击添加库 > 新建代码库

    2. 设置代码库名称,例如:codebasetest。其余参数保持默认,然后单击确定codeup.jpg

  4. 将项目的代码上传到云效Codeup平台。详细信息,请参见关联本地文件夹

    1. 在codebasetest代码库的命令行指引区域,给出了Git全局设置的代码。复制代码,并在Git中执行。全局设置.jpg

    2. 执行如下命令,关联本地文件夹。

      # existing_folder是代码文件所在实际位置。
      cd existing_folder
      git init
      # https://codeup.xxxx.git是新建代码库的地址,在新建代码库页面右上角或者命令行指引区域可获取。
      git remote add origin https://codeup.xxxx.git
      git add .
      git commit -m 'init'
      git push -u origin master

      示例代码如下:

      cd D:\doctest
      cd spring-hello
      git init
      # 将https://codeup.aliyun.com/63eb3d939dee9309492b****/codebasetest.git替换为实际值。
      git remote add origin https://codeup.aliyun.com/63eb3d939dee9309492b****/codebasetest.git
      git add .
      git commit -m 'init'
      git push -u origin master

    在codebasetest代码库下存在如下文件,说明命令执行成功。成功.jpg

步骤二:绑定代码仓库到ACR实例并触发构建

说明

您既可以选择ACR个人版实例与阿里云Code代码平台绑定并触发构建,也可以选择ACR企业版实例。相关操作类似,下文以ACR个人版实例为例进行说明。

绑定个人版实例与阿里云Code代码平台

  1. 创建访问令牌。

    1. 登录云效Codeup控制台,单击右上角小图标.jpg>个人设置

    2. 个人设置页面,单击左侧导航栏中的个人访问令牌

    3. 单击创建访问令牌,设置配置项,然后单击立即创建。以下为创建访问令牌需要授予的最小权限。

      配置项

      示例

      名称

      自定义

      过期时间

      自定义

      作用范围

      • 用户相关信息的只读权限:read:user

      • 代码库的只读权限:read:repo

      • 代码库分支的只读权限:read:repo:branch

      • 代码库标签的只读权限:read:repo:tag

      • 代码库Webhook的全部读写权限:read:repo:webhook、write:repo:webhook

      • 代码组的全部读权限:read:group

      • 企业相关信息的只读权限:read:org

    4. 创建完成后,请务必记录创建的访问令牌。示例值:agp_e77963d90ab62c4424bc2904a5072***。个人访问令牌.jpg

      重要

      请务必记录创建的访问令牌,您只可见一次。

  2. 在左侧导航栏中单击HTTPS 密码,查看并记录克隆账号。示例值:middle_***。

  3. 绑定云效Codeup代码平台。

    1. 登录容器镜像服务控制台,在顶部菜单栏,选择所需地域。

      重要

      请记录选择的地域,后续在容器服务 Serverless 版中选择镜像时,需要先选择镜像所在地域。

    2. 在左侧导航栏选择实例列表,在实例列表页面单击目标个人版实例。

    3. 个人实例页面左侧导航栏中,选择仓库管理>代码源

    4. 单击云效Codeup的操作列下的绑定账号绑定账号.jpg

    5. Codeup对话框中,设置配置项,然后单击确定

      配置项

      说明

      示例

      地址

      无需填写。绑定云效Codeup时,系统会自动识别该地址。

      不涉及

      用户名称

      输入查询克隆账号中获取的HTTPS克隆账号。

      middle_***

      个人访问令牌

      输入创建访问令牌中创建的访问令牌。

      agp_e77963d90ab62c4424bc2904a5072***

      代码源页面阿里云Codeup所在行,操作列显示已绑定,说明绑定成功。

使用个人版实例构建镜像

  1. 个人实例页面选择仓库管理>镜像仓库

  2. 镜像仓库页面单击创建镜像仓库,配置仓库信息,然后单击创建镜像仓库。下表仅介绍主要配置项,其余配置项保持默认即可。

    配置向导名称

    配置项

    说明

    示例

    仓库信息

    命名空间

    请选择任意一个命名空间。

    image_***

    仓库名称

    自定义您的仓库名称。

    myrepository

    摘要

    请填写摘要。

    不涉及

    代码源

    -

    请选择自己的代码仓库。

    codebasetest

    cedebasetest.jpg

  3. 单击左侧导航栏中的构建,配置规则。下表仅介绍主要配置项,其余配置项保持默认即可。

    配置区域

    配置项

    说明

    示例

    构建设置

    海外机器构建

    请开启海外机器构建。

    不涉及

    构建规则设置

    添加规则

    1. 单击添加规则

    2. 在添加构建规则页面设置如下配置项。

      • 类型:Branch

      • Branch/Tag:master

      • 镜像版本:v1

    3. 单击确定

    • 类型:Branch

    • Branch/Tag:master

    • 镜像版本:v1

  4. 在规则branches:master所在行,单击操作列的立即构建

    等待几分钟,然后刷新页面,待构建日志区域的构建状态显示成功,说明镜像仓库构建成功。

步骤三:将spring-hello应用部署到ACK Serverless集群

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标ACK Serverless集群名称,然后在左侧导航栏,选择工作负载 > 无状态

  3. 无状态页面,单击右上角的使用镜像创建,参见下表配置应用信息并创建应用。下表仅介绍主要配置项,其余配置项保持默认即可。

    配置向导名称

    说明

    示例值

    图例

    应用基本信息

    设置应用名称,单击下一步

    spring-test

    应用名称.jpg

    容器配置

    选择自定义镜像:

    1. 单击容器镜像服务

    2. 选择镜像所属的地域,为绑定云效Codeup代码平台时选择的地域。

    3. 搜索myrepository

    4. 选中搜索到的镜像。

    5. 单击确定

    6. 在页面右侧,单击下一步

    image_***/myrepository

    1.jpg

    选择镜像Tag:

    1. 单击选择镜像Tag

    2. 选择镜像Tag。

    3. 单击确定

    v1

    镜像tag.jpg

    新增一个端口:

    • 名称:自定义。

    • 容器端口:8080。

    • 协议:TCP。

    新增完成后,在页面右侧,单击下一步

    • 名称:hello

    • 容器端口:8080

    • 协议:TCP

    端口.jpg

    高级配置

    创建服务:

    1. 单击服务(Service)右侧的创建

    2. 增加一条端口映射。

      • 名称:hello

      • 服务端口:8080

      • 容器端口:8080

    3. 单击创建

    4. 单击高级配置配置向导页面下方的创建

    • 名称:hello

    • 服务端口:8080

    • 容器端口:8080

    服务端口.jpg

    出现如下界面,说明应用创建成功。验证成功.jpg

步骤四:访问测试网站

  1. 应用创建成功后,在左侧导航栏中单击网络 > 服务。在步骤三:将spring-hello应用部署到ACK Serverless集群创建的服务所在行,查看并记录外部端点的值。例如:47.111.XX.XX:8080。外部端点.jpg

  2. 打开浏览器输入http://外部端点/hello,例如http://47.111.XX.XX:8080/hello。输出Hello, Aliyun,说明网站访问成功。访问网站.png

步骤五:释放资源

快速入门完成后,建议及时删除资源,避免额外资损。

删除已创建的应用和服务

  1. 容器服务管理控制台集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态,找到已创建的spring-test应用,在页面右侧操作列,选择更多 > 删除

  2. 确认面板中,选中移除关联的服务(Service)spring-testzfta-svc,然后单击确定

删除集群

ACK Serverless集群目前处于公测中,可免费试用。但是在使用ACK Serverless集群过程中用到的其他阿里云云产品资源,您需要按照各云产品规定的计费规则,为您使用的资源付费,费用由各云产品收取。完成教程后,请参考以下场景处理集群:

  • 如果无需继续使用集群,请登录容器服务管理控制台,在集群列表页面的操作列,单击目标集群对应的更多 > 删除。在删除集群页面,选中同时删除集群下的ALB资源同时删除集群下的PrivateZone资源我已知晓以上信息并确认删除集群,然后单击确定。关于删除ACK Serverless集群的更多信息,请参见删除集群

  • 如果需要继续使用集群,请至少在试用期到期1小时前为阿里云账号充值,确保账户金额不小于100.00元人民币。在使用ACK Serverless集群Pro版过程中用到的其他阿里云云产品资源,相关计费说明,请参见云产品资源计费