首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使Terraform继续执行,并在terraform应用期间忽略资源创建中的错误?

如何使Terraform继续执行,并在terraform应用期间忽略资源创建中的错误?
EN

Stack Overflow用户
提问于 2022-08-06 17:14:29
回答 1查看 1.4K关注 0票数 0

我正在用null_resource在地形上安装CNI。现在,如果CNI已经安装,那么terraform脚本就会出现错误:exit status 254. Output: │ An error occurred (ResourceInUseException) when calling the CreateAddon │ operation: Addon already exists.,如果CNI已经安装,如何使terraform继续执行,而不是失败。

下面是我安装CNI的配置:

代码语言:javascript
复制
### Installing CNI Addon ###
resource "null_resource" "install-CNI" {
  provisioner "local-exec" {
    when = create
    interpreter = ["bash", "-c"]
    command = <<EOT
        aws eks create-addon  \
            --cluster-name ${data.aws_eks_cluster.Custom_Dev-cluster-deploy.name} \
            --addon-name vpc-cni \
            --addon-version v1.11.2-eksbuild.1 \
            --service-account-role-arn ${aws_iam_role.Custom_Dev-cluster.arn} \
            --resolve-conflicts OVERWRITE
    EOT
  }
  triggers = {
    "before" = null_resource.eks-config-file.id
  }
}
EN

回答 1

Stack Overflow用户

发布于 2022-08-06 18:34:00

您可以根据响应处理错误。如果命令响应包含Addon already exists,则可以exit 0并返回错误(如果发生其他事情),则可能是aws cli权限,也可能是错误命令。

代码语言:javascript
复制
resource "null_resource" "install-CNI" {
  provisioner "local-exec" {
    when = create
    interpreter = ["bash", "-c"]
    command = <<EOT
        RESULT=$(aws eks create-addon --cluster-name ${data.aws_eks_cluster.Custom_Dev-cluster-deploy.name} --addon-name vpc-cni --addon-version v1.11.2-eksbuild.1 --service-account-role-arn ${aws_iam_role.Custom_Dev-cluster.arn} --resolve-conflicts OVERWRITE 2>&1)
        if [ $? -eq 0 ]
        then
        echo "Addon installed successfully $RESULT"
        exit 0
        elif [[ "$RESULT" =~ .*"Addon already exists".* ]] 
        then
        echo "Plugin already exists $RESULT" >&2
        exit 0
        else 
        echo "Encounter error $RESULT" >&2
        exit 1
        fi
    EOT
    
  }
  triggers = {
    "before" = null_resource.eks-config-file.id
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73261839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档