本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
保密字典(K8s Secret)用于配置应用运行时的敏感信息,如密钥或证书。使用保密字典(K8s Secret)的好处是可以在应用部署后灵活变更配置,而无需重新构建镜像。
如需从配置中心动态获取所需的配置信息,则不适用本文,请参见使用MSE的Nacos注册中心或管理分布式配置(ACM)。
如仅需存储应用运行时的环境变量,而不涉及敏感信息,请参见管理和使用配置项(K8s ConfigMap)。
创建保密字典
在SAE保密字典(Secret)中,在顶部选择目标地域和命名空间,点击创建。注意需要选择目标应用所在的命名空间。
自定义保密字典的名称。
选择类型并配置:
Opaque:以键值对的形式存储无特定格式的敏感信息,如密码或API密钥。
键值对:选择是否开启对数据值进行Base64编码,然后输入敏感信息的名称(Key)和值(Value)。点击添加,可以定义多个键值对。
私有镜像仓库登录密钥:用于存储访问私有容器镜像仓库的凭证,确保SAE在部署应用时有权限拉取私有镜像。
镜像仓库地址:格式为
<镜像仓库的域名或IP>:<镜像仓库的服务端口>,需要确保SAE和镜像仓库间的网络连通性。对于阿里云容器镜像服务ACR企业版,配置网络访问并获取镜像仓库地址的方式,请参见使用企业版实例推送和拉取镜像。用户名和密码。
TLS证书:当应用服务需要对外提供HTTPS访问时,可用于存储TLS证书。
Cert和Key:TLS 证书的公钥(Cert)以及私钥(Key),需要输入Base64编码内容。
在保密字典(Secret)列表中查看已创建的保密字典,可以按需执行编辑、复制、删除操作。
重要对保密字典(Secret)进行修改后,需要手动重新部署引用该保密字典的应用,以确保变更生效。
删除保密字典(Secret)将会影响引用该保密字典的应用的正常运行,请注意在删除前解除应用对保密字典的引用。
使用保密字典拉取镜像
以部署应用时拉取镜像为例,请参见使用不同账号ACR实例的镜像部署应用或使用非ACR实例的镜像部署应用。
将保密字典(Secret)用作应用的环境变量
创建应用
在SAE应用列表中,在顶部选择目标地域和命名空间,点击创建应用。在应用基本信息页面进行配置后,单击下一步:高级设置。
对正在运行的应用进行变更
警告重新部署应用后,该应用将会被重启。为避免业务中断等不可预知的错误,请在业务低峰期执行部署操作。
在SAE应用列表中,在顶部选择目标地域和命名空间,点击目标应用ID跳转到应用详情页。在左侧导航栏点击基础信息,在右上角点击部署应用。
对已停止的应用进行变更
在SAE应用列表中,在顶部选择目标地域和命名空间,点击目标应用ID跳转到应用详情页。点击基础信息,点击修改应用配置。
在环境变量区域,选择类型为引用保密字典,自定义在当前应用中的变量名称(对于引用全部键,则无需指定变量名称,而是直接使用键名作为变量名称),然后选择引用已创建的保密字典名称和键(保密字典中的变量名,支持引用全部键)。点击添加,可以添加多个保密字典。
等待应用部署成功。验证配置是否生效:登录应用实例的Webshell,执行
env | grep <变量名称>,注意将其中<变量名称>替换为之前配置的实际值。返回变量名和变量值的映射,表明配置生效。
将保密字典(Secret)作为配置文件挂载到应用的文件系统
将保密字典(Secret)挂载到应用容器内的文件系统,保密字典的值作为文件内容,文件路径和文件名可自定义。如果文件路径下存在同名文件,则挂载的文件会替换原有文件。
创建应用
在SAE应用列表中,在顶部选择目标地域和命名空间,点击创建应用。在应用基本信息页面进行配置后,单击下一步:高级设置。
对正在运行的应用进行变更
警告重新部署应用后,该应用将会被重启。为避免业务中断等不可预知的错误,请在业务低峰期执行部署操作。
在SAE应用列表中,在顶部选择目标地域和命名空间,点击目标应用ID跳转到应用详情页。在左侧导航栏点击基础信息,在右上角点击部署应用。
对已停止的应用进行变更
在SAE应用列表中,在顶部选择目标地域和命名空间,点击目标应用ID跳转到应用详情页。点击基础信息,点击修改应用配置。
在保密字典区域,单击+ 添加,选择引用已创建的保密字典名称和键(保密字典中的变量名,支持挂载全部键),然后自定义挂载路径(对于挂载单个键,填写包含文件名的绝对路径;对于挂载全部键,填写不包含文件名的绝对路径,SAE将各配置项的键名自动作为文件名)。可以添加多个保密字典。
等待应用部署成功。验证配置是否生效:登录应用实例的Webshell,查看挂载路径下的文件内容。