保密字典(K8s Secret)是一种用于存储和管理密钥、证书等敏感信息的资源类型。为避免敏感数据暴露到镜像或应用的部署参数中,推荐您使用SAE命名空间级别的保密字典。配置保密字典后,您可以在创建或部署时,通过镜像将配置信息直接注入容器。如果后续修改了保密字典内容,只需重新部署应用便可生效。
前提条件
注意事项
SAE的镜像部署,默认为免密拉取镜像。如果部署时使用保密字典,则原有免密拉取镜像不再生效。如果需要免密拉取镜像,请先重新部署,并取消选择保密字典。
修改后的保密字典新版本仅生效于应用新实例(如手动新扩容或自动弹性的新实例),对存量实例不生效。为保证应用所有实例保密字典版本的最终一致性,您在修改保密字典后必须手动重启或部署应用。
如果已有应用正在使用该保密字典,删除该保密字典将会影响这些应用的正常运行。请先在关联应用中解除使用该保密字典再删除。
如果您的配置信息无需加密,可以使用SAE的配置项功能。具体操作,请参见管理和使用配置项(K8s ConfigMap)。
创建保密字典
登录SAE控制台。
在左侧导航栏,单击命名空间,在顶部菜单栏选择地域,然后单击具体命名空间名称。
在左侧导航栏,单击保密字典,在保密字典页面,单击创建。
在创建面板,配置相关信息,然后单击确定。
配置项
说明
名称
自定义。
类型
创建的保密字典类型,支持Opaque、私有镜像仓库登录密钥和TLS证书。
Opaque
创建Opaque类型的保密字典,需要设置以下信息。
对数据值进行Base64编码:默认选中,SAE会对明文数据进行Base64编码。
键值对:敏感信息的Key和Value。
私有镜像仓库登录密钥
创建私有镜像仓库登录密钥类型的保密字典,需要设置以下信息。
镜像仓库地址:敏感信息所在镜像仓库地址。关于如何获取镜像仓库地址,请参见镜像仓库。
说明请填写VPC内网域名的镜像仓库地址,例如
registry-vpc.cn-beijing.aliyuncs.com
。用户名:镜像仓库的用户名。
密码:镜像仓库的密码。
创建成功后,可以通过保密字典拉取镜像。更多信息,请参见通过保密字典拉取镜像。
TLS证书
创建TLS证书类型的保密字典,需要设置以下信息。
Cert:TLS证书的公钥。
Key:TLS证书的私钥。
创建的保密字典将显示在保密字典页面,您可以在保密字典列表的操作列进行编辑、复制和删除等操作。
通过保密字典拉取镜像
如果想要通过保密字典拉取镜像,您需要先创建私有镜像仓库登录密钥类型的保密字典。本文仅介绍配置保密字典的关键信息。关于配置项的更多信息,请参见将Java应用部署到SAE 1.0。
该功能可以在创建应用时设置,也可以在更新应用时设置。本文以创建时的操作步骤为例,更新应用时的操作路径,请参见更新应用。
登录SAE控制台。
在左侧导航栏,单击应用列表,在顶部菜单栏选择地域,然后单击创建应用。
在应用基本信息配置向导,配置相关信息,然后单击下一步:应用部署配置。
在应用部署配置配置向导页面,配置相关信息。
本文仅介绍关键步骤。
应用部署方式选择镜像。
在配置镜像区域,单击其它阿里云账号私有镜像页签,按需选择镜像服务版本,镜像类型选择静态用户名和密码。
可选:镜像服务版本选择镜像服务企业版时,输入企业版实例ID。
从存储镜像仓库用户名和密码的保密字典下拉列表,选择已创建的保密字典,并输入完整镜像仓库地址。
单击下一步:确认规格。
在确认规格配置向导,查看您所创建应用的详细信息以及费用配置情况,然后单击确认创建。
页面会跳转至创建完成配置向导,您可以单击应用详情页进入基本信息页面。