Azure DevOps> Helm> Azure Kubernetes部署 - 删除部署时删除Azure文件共享

问题描述 投票:1回答:1

TL; DR

我的pod已挂载Azure文件共享(不一致)在删除部署时被Kubernetes / Helm删除。

说明

我最近转而使用Helm通过DevOps版本管道在Azure Kubernetes集群上部署Kubernetes对象。

作为部署的一部分,我开始看到与我挂载到我的Pod的Azure文件共享(作为具有关联的持久卷声明和存储类的持久卷)相关的一些意外行为。

虽然我一直在最后完成部署,但我一直在使用内置的Helm任务通过Azure Devops发布管道推出部署,这些任务一直运行良好。当我想要修复/改进过程时,我会手动删除Kubernetes Dashboard(UI)上的对象,或使用Powershell(命令行)删除部署。

例如:

helm delete myapp-prod-73
helm del --purge myapp-prod-73

不是每次,但更频繁地,我看到基础Azure文件共享也被删除,因为我正在完成此过程。网络上的内容很少,但我也看过一篇文章,概述了类似的问题:https://winterdom.com/2018/07/26/kubernetes-azureFile-dynamic-volumes-deleting

社区中有没有人遇到过这个问题?

kubernetes azure-devops kubernetes-helm azure-kubernetes azure-aks
1个回答
1
投票

感谢https://twitter.com/tomasrestrepo指向我正确的方向(我上面提到的文章的作者)。

此处的行为是将存储类和持久卷上的回收策略设置为“删除”的结果。当切换到Helm时,我开始按照他们的命令删除/清除我正在测试的版本。我没有意识到的是,删除版本也意味着Helm / K8s也会伸出并删除基础卷(在本例中为Azure Fileshare)。记录在:https://kubernetes.io/docs/concepts/storage/persistent-volumes/#delete

我将把这个Q&A留给这里的其他任何人,因为存储类,持久卷(PV)和底层存储在K8s / Helm下运行的方式错过了这一点。

注意:我认为这个问题因为我手动创建Azure Fileshare(通过Azure门户)并尝试将其作为静态卷(根据https://docs.microsoft.com/en-us/azure/aks/azure-files-volume)安装在我的Helm图表中而更加模糊不清,但是删除发布时(有时一小时后?),卷没有被立即删除。

© www.soinside.com 2019 - 2024. All rights reserved.