Azure DevOps>;赫尔姆>;Azure Kubernetes部署-删除部署时删除Azure文件共享
TL;DR 在删除部署时,Kubernetes/Helm正在(不一致地)删除我的pods装载的Azure文件共享 解释 我最近已经过渡到使用Helm通过DevOps发布管道在我的Azure Kubernetes集群上部署Kubernetes对象 作为部署的一部分,我已经开始看到一些与我装载到我的POD中的Azure文件共享(作为具有关联的持久卷声明和存储类的持久卷)相关的意外行为 虽然我已经完成了部署,但我一直在通过Azure Devops发布管道使用内置的Helm任务推进部署,这些任务一直运行良好。当我想要修复/改进流程时,我会手动删除Kubernetes仪表板(UI)上的对象,或者使用Powershell(命令行)删除部署 例如:Azure DevOps>;赫尔姆>;Azure Kubernetes部署-删除部署时删除Azure文件共享,kubernetes,azure-devops,kubernetes-helm,azure-aks,Kubernetes,Azure Devops,Kubernetes Helm,Azure Aks,TL;DR 在删除部署时,Kubernetes/Helm正在(不一致地)删除我的pods装载的Azure文件共享 解释 我最近已经过渡到使用Helm通过DevOps发布管道在我的Azure Kubernetes集群上部署Kubernetes对象 作为部署的一部分,我已经开始看到一些与我装载到我的POD中的Azure文件共享(作为具有关联的持久卷声明和存储类的持久卷)相关的意外行为 虽然我已经完成了部署,但我一直在通过Azure Devops发布管道使用内置的Helm任务推进部署,这些任务一直运行
helm delete myapp-prod-73
helm del --purge myapp-prod-73
不是每次,但更频繁的是,我看到底层Azure文件共享在我完成此过程时也被删除。关于这一点,网上几乎没有什么报道,但我也在以下网站上看到过一篇概述类似问题的文章:
社区中有人遇到过这个问题吗?这里的功劳在于为我指明了正确的方向(我上面提到的文章的作者) 这里的行为是将存储类和持久卷上的回收策略设置为“删除”的结果。当切换到Helm时,我开始按照他们的命令在测试时删除/清除版本。我没有意识到的是,删除该版本也意味着Helm/K8s也会接触并删除底层卷(在本例中是Azure文件共享)。该文件记录在: 我将把这个问答留给那些在K8s/Helm下运行存储类、持久卷(PVs)和底层存储的方式上有细微失误的人
注意:我认为这个问题变得更加模糊,因为我正在手动创建Azure Fileshare(通过Azure门户)并尝试将其作为静态卷(按照)装载到我的Helm Chart中,但在删除版本时,基础卷并没有立即被删除(有时一小时后?。真的很难相信,那篇文章没有提到任何不一致之处,它提到了一个人没有意识到它实际上是如何工作的,所以。你在使用动态PV吗?它们应该被清理掉。@4c74356b41-谢谢你的评论。我想部分问题是我使用了一个有效的部署脚本(我已经创建并使用它成功地将对象部署到AKS)然后将其转换为掌舵图-这是一些行为发生变化的时候。我最初根据本文将卷创建为静态卷-然后将图表中的对象拆分为各自的模板。您至少可以共享与存储相关的配置吗?如果没有信息,我们应该如何帮助?@4c74356b41感谢您花时间发表评论。我已经找到了问题的原因,并将其记录为以下答案。我对Azure/K8s的行为缺乏了解,但也有一点模糊。