kubernetes - Concourse CI 找不到 kubernetes secret

标签 kubernetes concourse kubernetes-secrets

当运行程序尝试检索资源时,我收到以下错误:

checking failed -
Expected to find variables: git

我的资源看起来类似于:

- name: resource-repo
  type: git
  source:
    uri: https://[url]
    branch: master
    tag_filter: '*'
    username: ((git.username))
    password: ((git.password))

我的 Helm chart 的values.yaml包括:

rbac:
  create: false

credentialManager:
  kubernetes:
    namespacePrefix: concourse

(无论如何,发布名称是 concourse)

在命名空间concourse-main下我有 secret :

Details
Name: git
Namespace: concourse-main
Type: Opaque

Data
password:  bytes
username:  bytes 

更多信息:

  • k8s 1.8.6
  • kops 1.8.1
  • 编织网
  • 大厅3.9.1

最佳答案

基于 documentation 的信息:

By default, this chart will use Kubernetes Secrets as a credential manager. For a given Concourse team, a pipeline will look for secrets in a namespace named [namespacePrefix][teamName]. The namespace prefix is the release name hyphen by default, and can be overridden with the value credentialManager.kubernetes.namespacePrefix.

在您的配置中,我在 namespace 中看到了 secret 。您的 secret 是 concourse-main,但默认的 namespacePrefixconcourse

因此,Concourse 试图从错误的命名空间获取您的 secret 。

您可以使用两种方法修复它:

  1. 在命名空间 concourse 中创建一个 Secret。
  2. namespacePrefix 更改为 concourse-main

关于kubernetes - Concourse CI 找不到 kubernetes secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49432041/

相关文章:

spring-boot - 检索作为卷挂载的 Kubernetes Secret

kubernetes - 从 pod 连接到其他 pod

Kubernetes 消息消费者可扩展性

Kubernetes - 在预安装作业中使用 secret

java - 大厅 CI + MVN

continuous-integration - Concourse:如何在管道文件中设置变量?

tomcat - 在 tomcat catalina.properties [Kubernetes] 中注入(inject)环境变量

go - 将自定义 kubernetes 调度程序部署为 pod

kubernetes - 在 Kubernetes 节点上实现 iptables 规则

continuous-integration - 使用 Dockerfile 构建自定义镜像以在 Concourse CI 上进行测试