SAE控制台镜像部署

Serverless 应用引擎 SAE(Serverless App Engine)支持以镜像方式部署应用与任务模板。本文介绍SAE拉取镜像的方式、配置路径以及如何通过SAE控制台选择并部署不同类型的镜像。

背景信息

SAE支持免密拉取镜像和保密字典拉取镜像两种方式。

  • 免密拉取容器镜像服务ACR的镜像(默认)

    • 同账号的个人版镜像

    • 同账号同地域的企业版镜像

    • 跨账号的个人版镜像

    • 跨账号同地域的企业版镜像

  • 保密字典拉取镜像

    如果部署时使用保密字典,则原有免密拉取镜像不再生效。如果需要修改为免密拉取镜像,请先重新部署,并取消选择保密字典。更多信息,请参见管理和使用保密字典(K8s Secret)

SAE控制台将镜像的种类分为四种,包括我的阿里云镜像Demo镜像公有镜像其它阿里云账号私有镜像。您可以参考本文的配置说明,选择所需的镜像。

配置路径

  • 创建应用

    创建应用页面的应用部署配置配置向导页面,应用部署方式选择镜像,然后在配置镜像区域配置。

  • 部署应用

    • 当实例数大于等于1时,在目标应用的基本信息页面,单击部署应用,在部署应用页面的配置镜像区域,单击修改镜像,在修改镜像面板配置。

    • 当实例数等于0时,在目标应用的基本信息页面,单击修改应用配置,在修改应用配置页面的配置镜像区域,单击修改镜像,在修改镜像面板配置。

      说明

      应用配置修改后,在下一次应用实例数大于0时,部署应用才会生效。

  • 创建任务模板

    创建任务模板页面的部署配置配置向导页面,任务部署方式选择镜像,然后在配置镜像区域配置。

  • 编辑任务模板

    编辑任务页面的部署配置配置向导页面,单击修改镜像,在修改镜像面板配置。

选择镜像类型

我的阿里云镜像

我的阿里云镜像指通过阿里云账号上传至阿里云容器镜像服务ACR(Alibaba Cloud Container Registry)的镜像文件及其版本。阿里云容器镜像服务ACR分为个人版实例与企业版实例。

SAE使用镜像的流程如下。更多信息,请参见使用个人版实例推送和拉取镜像使用企业版实例推送和拉取镜像

重要

阿里云容器镜像服务ACR个人版面向个人开发者,公测限额免费使用,无SLA承诺及SLA受损赔偿且有使用限制。

  1. 在本地制作镜像。

  2. 开通阿里云容器镜像服务ACR,创建个人版实例或企业版实例,并创建命名空间和镜像仓库。

  3. 构建并推送镜像。

  4. 创建或部署SAE应用或任务模板时,选择目标镜像及其版本。

我的阿里云镜像页签,单击镜像服务个人版镜像服务企业版,并选择匹配的镜像。

镜像服务个人版

通过镜像仓库命名空间下拉列表和镜像仓库名文本框,快速筛选目标镜像文件和版本。sc_image_of_current_alibaba_cloud_account_acr_personal_edition

如果要使用的阿里云镜像仓库与应用或任务模板不在同一个地域,您需要先使用容器镜像服务ACR的镜像同步功能,将该镜像仓库同步至应用或任务模板所在的地域。

  1. 登录容器镜像服务控制台

  2. 在顶部菜单栏,选择地域,在实例列表页面,单击个人实例,进入个人实例页面。

  3. 在左侧导航栏,选择仓库管理 > 镜像仓库,在镜像仓库页面,单击目标仓库名称。

  4. 在左侧导航栏,单击镜像同步,在镜像同步页面左上角,单击创建同步任务

  5. 镜像同步对话框,输入以下信息,并单击确定acr_db_image_sync

    配置项

    说明

    镜像版本

    当前镜像的版本。

    目标仓库

    依次输入目标仓库的地域(即应用所在的地域)、命名空间、仓库名称和版本号。

    镜像同步完成后,在容器镜像服务控制台上选择的镜像仓库将被同步至此处选择的目标仓库。随后您将可以在SAE控制台应用部署配置页签选择该镜像。

镜像服务企业版

从下拉列表选择目标企业版实例ID。sc_image_of_current_alibaba_cloud_account_acr_enterprise_edition

如果选择容器镜像服务企业版,您需要为企业版实例绑定VPC和vSwitch。具体操作,请参见创建企业版实例配置专有网络的访问控制。如果SAE应用或任务模板的VPC和vSwitch未绑定企业版实例,您将无法在SAE控制台部署应用或任务模板

更多信息,请参见容器镜像服务ACR企业版使用指引

Demo镜像

Demo镜像指SAE针对不同技术栈语言提供的示例镜像。您可以使用小规格的实例,匹配所需语言的Demo镜像用于测试环境。例如,Java语言的Consumer和Porvider、PHP的PHP Demo、Python语言的Python Demo以及Job Demo等。

Demo镜像页签,从下拉列表选择Demo镜像的版本。sc_image_of_demo_image

公有镜像

公有镜像指可通过公网访问的公共镜像。SAE默认部署在VPC网络内,拉取公网镜像需要能访问公网。因此,需要在私网内开通NAT来访问公网。更多信息,请参见配置NAT网关使SAE应用能访问公网

公有镜像页签,输入可通过公网访问的公共镜像的完整镜像地址。示例如下。

部分用户可能需要直接采用Docker Hub中的镜像,以nginx镜像为例,如果您期望部署nginx 1.23.1版本的镜像,则在SAE公有镜像页签内直接填入该镜像地址。

  • 镜像地址如下:sc_get_image_address_from_docker_hub

  • 将完整镜像地址填入SAEsc_configurate_image_from_docker_hub

其它阿里云账号私有镜像

其它阿里云账号私有镜像指通过其他阿里云账号上传至阿里云容器镜像服务ACR(Alibaba Cloud Container Registry)的镜像文件及其版本。您可以使用自身的阿里云账号,创建RAM角色,并为其授权、配置信任策略,达到跨账号拉取其他阿里云镜像的目的。镜像服务个人版和企业版的配置要求,与我的阿里云镜像一致。更多信息,请参见我的阿里云镜像

其它阿里云账号私有镜像页签,配置以下信息。sc_private_images_of_other_alibaba_cloud_account

配置项

说明

镜像服务版本

  • 镜像服务个人版

  • 镜像服务企业版:需要为每个应用或任务模板单独设置实例ID、acrAssumeRoleArn和镜像仓库地址。

镜像类型

  • Ram Role

  • 静态用户名和密码

企业版实例ID

镜像服务版本选择镜像服务企业版时,需要配置。

登录容器镜像服务控制台,在实例列表页面,单击目标企业版实例卡片,然后在概览页面的实例信息区域,一键复制实例ID。

示例如下。

cri-55md3gmii09m****

acrAssumeRoleArn

镜像类型选择Ram Role时,需要配置。

登录RAM控制台,在RAM角色的基本信息页面,一键复制ARN。更多信息,请参见跨账号拉取阿里云镜像

示例如下。

acs:ram::123456789012****:role/saetest

存储镜像仓库用户名和密码的保密字典

镜像类型选择静态用户名和密码时,需要配置。

该配置适用于使用保密字典拉取镜像。关于如何创建保密字典,请参见管理和使用保密字典(K8s Secret)

完整镜像仓库地址

登录容器镜像服务控制台,在实例列表,单击目标实例卡片。在左侧导航栏,选择仓库管理 > 镜像仓库。然后在镜像仓库页面,单击目标仓库名称,在基本信息页面,一键复制镜像仓库的专有网络或公网地址。

地址格式如下。

  • 仓库专有网络地址

    <实例名称>-registry-vpc.<实例所在地域>.cr.aliyuncs.com/<命名空间名称>/<镜像仓库名称>:<镜像版本号>
  • 仓库公网地址

    <实例名称>-registry.<实例所在地域>.cr.aliyuncs.com/<命名空间名称>/<镜像仓库名称>:<镜像版本号>