使用 Istio 模块销毁 Terraform
Posted
技术标签:
【中文标题】使用 Istio 模块销毁 Terraform【英文标题】:Terraform Destroy with Istio module 【发布时间】:2021-12-03 17:32:53 【问题描述】:我们在一个实现 Istio 模块的项目中使用 Terraform。
每当我们运行 terraform destroy
命令时,Istio 模块都会运行 rm -rf
命令。
这在 Mac 机器上运行良好,在 Windows 机器上这会导致错误。
作为参考,该命令在 istio 模块内部调用,在我们的代码库之外。
module "istio"
source = "combinator-ml/istio/k8s"
有人遇到这个问题并有解决方法吗?
【问题讨论】:
您可以将此作为错误提交给模块的问题跟踪器。如果该模块未维护,那么您可以分叉它并在那里开发修复程序。 您提到:“在 Windows 机器上,这会导致错误”。哪些错误?请将此信息添加到问题中。 rm 在 windows 机器上根本不存在,但我们在联系开发人员后找到了解决方法 请粘贴您的解决方法作为答案。 我们选择在我们的 Windows 机器上使用 bash 终端来运行我们的 terraform 命令,例如,即使是 git bash 终端也可以工作 【参考方案1】:istio 模块运行 rm -rf 命令。 这在 Mac 机器上运行良好,在 windows 机器上这会导致错误。
这按预期工作。 macOS 是基于 UNIX 的系统,rm -rf
命令有效。 Windows (powershell) 没有这个命令。
PowerShell 上正确的等效命令是:
rm C:\path\to\delete -r -fo
看看this question。这种情况有一个很好的解释。
回到你的问题。如果您使用的是 Windows (Powershell),则需要创建自定义解决方案(Powershell 脚本)以使用 Powershell 命令删除相应的文件。
【讨论】:
【参考方案2】:我们最终在 Windows 机器上使用 git bash 作为解决方法
【讨论】:
以上是关于使用 Istio 模块销毁 Terraform的主要内容,如果未能解决你的问题,请参考以下文章