保管库机密提供程序别名无法与docker kaniko识别



我在尝试将Hashicorp vault模板(kubernetes与Google kubernetes引擎(与to.be.continuous.一起使用时遇到了一些问题

事实上,当我将其与Google Docker Kaniko层一起使用时,我收到了一条错误消息:。。。wget:地址"保管库机密提供程序"错误。

Kaniko似乎不认识保险库机密提供者层。你能帮我做这个吗?或者,我可以在哪里寻求帮助?

这是.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模板,但没有成功。

我会感谢你的帮助。

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

然后根据您的情况,您有两个选项:

  1. Docker需要处理您的一些由Vault管理的秘密:然后您还应该为Docker激活Vault变体
  2. Docker不需要处理Vault管理的任何秘密:不要将Vault变体用于Docker,你会收到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"

最新更新