【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


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

相关推荐
宝桥南山6 小时前
Blazor Web Assembly - 体验一下Authentication State从Server共享给Client
microsoft·微软·c#·asp.net·.net·.netcore
上海魁鲸科技有限公司11 小时前
APS高级排产系统到底有什么用?一文讲清功能、选型与落地建议
前端·microsoft·excel
johnny23314 小时前
Flask生态:Flask-SocketIO、Flask-MonitoringDashboard
flask
日月新著16 小时前
微软2万人调查:天天用AI的你,为什么还是原地踏步?
人工智能·microsoft
weixin_BYSJ198719 小时前
springboot智慧公共交通系统---附源码51123
java·javascript·spring boot·python·django·flask·php
0xBADCODE20 小时前
Flask SSTI读SECRET_KEY+伪造Session:税务系统渗透全流程
前端·后端·python·安全·web安全·网络安全·flask
公子小六1 天前
基于.NET的Windows窗体编程之WinForms音频控件
windows·microsoft·c#·.net·音视频·winforms
咸鱼翻身小阿橙2 天前
QSFPER1开发文档1
microsoft
weixin_BYSJ19872 天前
springboot游戏账号租赁系统---附源码50345
java·spring boot·python·游戏·django·flask·php
yijianxiangde1002 天前
Prompt Engineering 提示词工程 - AI应用开发的基础技能
人工智能·microsoft·prompt