微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 github 操作中从 terraform 云生成文件设置 KUBECONFIG

如何解决如何在 github 操作中从 terraform 云生成文件设置 KUBECONFIG

我正在尝试设置 github 操作以使用 terraform 和 kubernetes 运行 CI。我正在连接到 terraform cloud 以运行 terraform 命令,它似乎在应用过程中生成了 kubeconfig。我得到了这个:

local_file.kubeconfig: Creation complete after 0s

在下一步中,我尝试运行 kubectl 以查看构建的资源,但该命令失败,因为它找不到配置文件。具体:

error: Missing or incomplete configuration info.

所以我的问题是,如何在我的 local_file.kubeconfig 命令中使用新生成kubectl

我的第一次尝试是在 github 操作步骤中将 KUBECONfig 作为环境变量公开,但我不知道如何将 terraform cloud 的值导入到 github 操作中。因此,我尝试使用供应商定义在我的 terraform 文件中设置变量。但这似乎不起作用。

是否有更简单的方法来加载该值?

Github 操作步骤

steps:
      - name: Checkout code
        uses: actions/checkout@v2
        with:
          ref: 'privatebeta-kubes'
      - name: Setup terraform
        uses: hashicorp/setup-terraform@v1
        with:
          cli_config_credentials_token: ${{ secrets.terraform_API_TOKEN }}
      - name: terraform Init
        run: terraform init
      
      - name: terraform Format Check
        run: terraform fmt -check -v
        
      - name: terraform Plan
        run: terraform plan
        env:
          LINODE_TOKEN: ${{ secrets.LINODE_TOKEN }}

      - name: terraform Apply
        run: terraform apply -auto-approve
        env:
          LINODE_TOKEN: ${{ secrets.LINODE_TOKEN }}
      # this step fails because kubectl can't find the token
      - name: List kube nodes
        run: kubectl get nodes

我的 main.tf 文件有这个定义:

provider "kubernetes" {
    kubeconfig = "${local_file.kubeconfig.content}"
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。