【Azure Container App】Key Vault的Secret修改导致Container App重启,是否有办法规避呢?

问题描述

在查看Container App的Replica Count时候,发现它数量发生了变化,通常这意味着发生了重启了。

那么,是什么原因导致它重启了呢?

问题解答

可以从Container App的诊断日志 ContainerAppSystemLogs_CL中查看到有RevisionRestartWithNewSecrets事件,所以判断是Key Vault的Secret更新引起了 Container App 通过重启来获取最新值。

复制代码
ContainerAppSystemLogs_CL
| where ContainerAppName_s == "<your-app-name>"
| where Reason_s == "RevisionRestartWithNewSecrets"
| project TimeGenerated, RevisionName_s, Reason_s, Log_s
| order by TimeGenerated desc

通过Environment variable 来引用secret 的任何active revision 都会自动重启来获取最新的值。

Key Vault机密 URI 必须具有以下格式之一:

如果 URI 中未指定版本,则应用将使用密钥保管库中存在的最新版本。

有更新的版本可用时,应用会在 30 分钟内自动检索最新版本。

在环境变量中引用机密的任何活动修订版都会自动重启,以选取新值。

若要完全控制使用哪个机密版本,请在 URI 中指定版本。

所以,如果想要手动来控制Container App何时更新Secret值,避免更新 Key Vault 的行为引起 Container App 的滚动重启(rollout restart),可以指定 Key Vault 内 Secret 的版本,在希望更新时再进行手动更新,如上图中的第一种方式。

参考资料

从密钥保管库引用机密(Azure Container Apps): 管理Azure Container Apps中的机密 | Azure Docs


当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关推荐
duansamve2 天前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
duansamve2 天前
详解Flask中Session和Cookie
python·flask
duansamve2 天前
Flask中视图函数接收请求数据和返回响应实例
python·flask
梅雅达编程笔记3 天前
退款之后钱货两空:Flask售后退款状态机加库存回滚加原路退回
flask·毕设·状态机·电商系统·退款·售后·myd电商
公子小六3 天前
基于.NET的Windows窗体编程之WinForms数据持久化(1)
windows·microsoft·c#·.net·winforms
Nerd(BUG版)3 天前
鸿蒙API18~26新增V2组件全解析
microsoft·华为·harmonyos
梅雅达编程笔记4 天前
忘记密码只能找客服:Flask邮箱验证码重置密码加限流防爆破
flask·限流·毕设·电商系统·myd电商·找回密码·邮箱验证码
hhcgchpspk5 天前
flask服务端页面预防被爬措施
后端·python·flask·网络爬虫·防爬
Blockbuater_drug7 天前
《经典机器学习实战》第 5 课:把模型做成 Web 应用(UFO)
flask·pickle·模型部署·web应用·机器学习上线·ufo数据集·rest接口
解决问题no解决代码问题7 天前
日志脱敏双链路统一优化:从两套枚举到单一规则源,兼顾安全与可维护性
microsoft