0

我在尝试将 Hashicorp 保险库模板(带有 Google Kubernetes Engine 的 kubernetes)与 to.be.continuous 一起使用时遇到了一些问题。

实际上,当我将它与Google Docker Kaniko 层一起使用时,我收到一条错误消息:... wget: bad address 'vault-secrets-provider'。

Kaniko 似乎无法识别 vault-secrets-provider 层。你能帮我解决这个问题吗?或者,我可以在哪里寻求帮助?

这是 .gitlab-ci.yml 的总结


  # Kubernetes template
  - project: 'to-be-continuous/kubernetes'
    ref: '2.0.4'
    file: '/templates/gitlab-ci-k8s.yml'
  - project: "to-be-continuous/kubernetes"
    ref: "2.0.4"
    file: "templates/gitlab-ci-k8s-vault.yml"
...

  K8S_DEFAULT_KUBE_CONFIG: "@url@http://vault-secrets-provider/api/secrets/noprod?field=kube_config"


  VAULT_BASE_URL: "http://myvault.myserver.com/v1"


错误信息:

[ERROR] Failed getting secret K8S_DEFAULT_KUBE_CONFIG:
... wget: bad address 'vault-secrets-provider'

我在没有 Vault 层的情况下直接尝试了很多次,并且 Kaniko 工作正常,我的意思是没有 Vault 机密。

我怎么能做到这一点?我尝试修改 kaniko 模板但没有成功。

我将不胜感激这方面的任何帮助。

4

1 回答 1

0

要解决您的问题,首先将 docker 模板升级到其最新版本(2.3.0在编写此响应时)。

然后根据您的情况,您有两种选择:

  1. Docker 需要处理一些由 Vault 管理的机密:然后您还应该为 Docker 激活 Vault 变体,
  2. Docker 不需要处理任何由 Vault 管理的秘密:不要为 Docker 使用 Vault 变体,你会收到来自 Docker 无法解码秘密的警告消息(基本上与你拥有的相同,但是没有失败的构建),

您只需在.gitlab-ci.yml文件中使用它:

include:
  # Docker template
  - project: 'to-be-continuous/docker'
    ref: '2.3.0'
    file: '/templates/gitlab-ci-docker.yml'
  # Vault variant for Docker (depending on your above case)
  - project: 'to-be-continuous/docker'
    ref: '2.3.0'
    file: '/templates/gitlab-ci-docker-vault.yml'
  # Kubernetes template
  - project: 'to-be-continuous/kubernetes'
    ref: '2.0.4'
    file: '/templates/gitlab-ci-k8s.yml'
  - project: "to-be-continuous/kubernetes"
    ref: "2.0.4"
    file: "/templates/gitlab-ci-k8s-vault.yml"

  K8S_DEFAULT_KUBE_CONFIG: "@url@http://vault-secrets-provider/api/secrets/noprod?field=kube_config"


  VAULT_BASE_URL: "http://myvault.myserver.com/v1"
于 2022-01-09T14:42:20.213 回答