Git 使用 Terraform 模块部署章鱼

Octopus Deploy with Terraform module from Git

我不确定我的问题出在哪里,但我相信是在章鱼方面。我正在尝试部署我的章鱼工人。我的部署脚本基本上有 4 个步骤。

  1. 更新 kube-config
    • aws eks update-kubeconfig
  2. 运行 头盔升级
    • helm upgrade --install
  3. 通过 Terraform 创建 IAM 政策
    • cd terraform
    • terraform init
      • *设置了 s3 后端参数
    • terraform plan -var-file=default.tfvars -out=tfplan
    • terraform apply tfplan
  4. 创建 IAM 服务帐户将 IAM 策略附加到章鱼工作者角色
    • eksctl create iamserviceaccount --attatch-policy-arn={iam-policy-arn}

我遗漏了一些 steps/flags,但这是它的要点。我有一个 public github 存储库,其中包含我所有的 Terraform 模块。在这个 repo 中,我有一个 terraform 目录,我在其中引用 public repo:

module "octopus-worker-policy" {
  source = "git::ssh://git@github.com/{company}/terraform//{module_name}?ref={commit-hash}
  ... other variable info
}

当部署脚本到达 terraform init 步骤时,它会在开始尝试下载此模块时停止。所有这些 WOMM,但由于某种原因,一旦它被发送给它挂起的章鱼工人。我已经确认有问题的 git 回购是 public,所以应该没有 permission/access 问题。

关于章鱼为何难以下载存储库的任何想法?也许我的工作人员所在的节点组有一些网络/安全规则?如果我可以提供更多可能有用的详细信息,请告诉我。

终于找到了我的答案。章鱼工作者一定得到了某种交互式提示,因为我试图通过 ssh 获取 git 存储库。将其更改为 HTTPS 并且工作正常。