SAE与ACR属于不同账号的情况下,首先确保SAE应用与ACR实例网络可达,然后配置访问ACR实例的授权信息,最后输入镜像仓库的地址来部署应用。
前提条件
确保SAE应用与ACR实例网络可达
需要跨VPC打通网络,或者为应用所在的VPC开启公网NAT网关。对于ACR企业版实例,还需要将SAE应用所在的VPC网段,或者NAT网关绑定的弹性公网IP地址,添加到ACR实例的白名单中。
配置访问ACR实例的授权信息
授权方式可以采用静态用户名和密码,也可以采用Ram Role。
静态用户名和密码
创建保密字典,用于存储镜像仓库的用户名和密码:在命名空间页面,选择目标地域,单击目标命名空间,在左侧导航栏选择保密字典,单击创建。
类型选择私有镜像仓库登录密钥。
镜像仓库地址中,输入ACR的公网域名,例如,ACR个人版:
registry.cn-xx.aliyuncs.com
;ACR企业版:xx-registry.cn-xx.cr.aliyuncs.com
。输入登录镜像仓库所需的用户名和密码。
Ram Role
SAE能够通过RAM角色扮演的方式实现跨账号拉取阿里云镜像,即用户A(部署SAE应用的账号用户)扮演用户B(ACR镜像所属账号用户)的角色拉取用户B的私有镜像。
创建RAM角色:通过用户B的阿里云账号,创建用户A的RAM角色。具体操作,请参见创建可信实体为阿里云账号的RAM角色。
配置权限策略:创建自定义权限策略或修改自定义权限策略,添加以下策略内容,表示允许私有镜像的相关操作。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cr:GetAuthorizationToken", "cr:ListInstanceEndpoint", "cr:PullRepository", "cr:GetRepository", "cr:ListRepositoryTag" ], "Resource": "*" } ] }
为RAM角色授予权限策略:为步骤1创建的RAM角色,授予步骤2配置的权限策略。具体操作,请参见为RAM角色授权。
修改RAM角色的可信实体:将步骤1创建的RAM角色的可信实体改为SAE服务账号,即修改以下信任策略。具体操作,请参见修改RAM角色的信任策略。
修改前
修改后
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::123456789012****:root" ] } } ], "Version": "1" }
该RAM角色可以被阿里云账号(AccountID=123456789012****)下授权的任何RAM用户、RAM角色扮演。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "123456789012****@sae.aliyuncs.com" ] } } ], "Version": "1" }
该RAM角色仅可以被阿里云账号(AccountID=123456789012****)对应的SAE服务账号(123456789012****@sae.aliyuncs.com)扮演。
说明本示例中的
Service
为待跨账号拉取镜像的服务。复制ARN:在RAM角色的基本信息页面一键复制ARN。这是您在后续部署应用时需要填入的acrAssumeRoleArn。
操作步骤
在SAE应用列表中,在顶部选择目标地域和命名空间,点击创建应用。
选择应用版本。
重要轻量版和专业版目前处于邀约测试阶段。未参与邀约测试的用户,创建的应用为标准版,无需选择应用版本。
轻量版:提供应用运行所需最小功能集,不支持应用监控和微服务治理功能。
标准版:自带基础应用监控功能,高级应用监控和微服务治理功能需要额外开通购买。
专业版:自带高级应用监控和微服务治理功能,无需额外开通购买。
在创建应用页面,自定义应用名称,并配置以下参数信息。
选择应用所属的命名空间类型。命名空间相当于K8s的Namespace,可用于不同环境的资源隔离。创建应用后不支持更改其所属的命名空间,请提前做好规划。
应用部署方式设置为选择镜像部署,单击右侧的设置镜像。在其它阿里云账号私有镜像标签页,配置以下信息。
选择您的ACR镜像服务版本,然后从以下选择一种授权方式。对于ACR企业版,还需要输入企业版实例ID。
静态用户名和密码:需选择此前创建的存储镜像仓库用户名和密码的保密字典。
Ram Role:需输入此前复制的acrAssumeRoleArn。
输入完整镜像仓库地址,其格式是
<镜像仓库地址>:<镜像Tag>
,例如:ACR个人版:registry.cn-xx.aliyuncs.com/xx/xx:1.0
;ACR企业版:xx-registry.cn-xx.cr.aliyuncs.com/xx/xx:1.0
。注意:需要按实际的网络配置来决定使用公网还是私网的镜像仓库地址。对于ACR企业版,您可以启用镜像加速功能来提升应用启动速度。
在容量设置区域,设置资源类型、单实例规格和实例数。
(可选)单击下一步:高级设置,配置所需功能。
单击一键创建应用或创建应用。