1

当我尝试构建我的项目时,控制台中唯一出现以下错误

error: cannot setup source secret: no auth handler was found for secrets in /var/run/secrets/openshift.io/source

在“构建开始”事件之后立即。老实说,我不知道这个错误是什么意思,也找不到任何关于它的东西。我怀疑它可能与以下内容有关:

一个。它没有使用我的 package.json 并且遇到了库问题

湾。该程序正常创建内部文件,但无法创建这些文件(据我所知,我已经尝试添加一个卷)在此之前尝试运行 console.log 但它不起作用,所以我认为不是这样.

C。与需要推/拉秘密有关吗?

任何帮助,将不胜感激

还想补充一下,在构建配置上使用 key in-context maker 不起作用,我得到一个 fetch source 错误。但是进入资源并制作一个通用的秘密就可以了。对此的任何建议也会很棒

4

1 回答 1

0

您收到此错误的原因是您的 Secret 对象缺少正确的“类型”。

您可以在创建构建输入中看到一些示例

这是一个演示问题的示例(使用时),因为它只使用通用的不透明密钥。因此,构建机器不知道如何处理它(因此,没有处理程序)

oc create secret generic git-build `
  --from-file=ssh-privatekey=openshift_shiny_cameron_laptop

正确的方法(如果使用oc create)是指定--type. 正是这种类型确定 'ssh-privatekey' 是密钥中的必需密钥。

oc create secret generic git-build `
  --type=kubernetes.io/ssh-auth `
  --from-file=ssh-privatekey=openshift_shiny_cameron_laptop

如果你想要 YAML,它看起来像这样:

apiVersion: v1
kind: Secret
metadata:
  name: git-build
  namespace: MY_NAMESPACE
data:
  ssh-privatekey: ...
  ssh-publickey: ... note that this isn't actually used
type: kubernetes.io/ssh-auth

有关kubernetes.io/ssh-auth 以外的类似值的更多信息,请参阅Types of Secrets

请注意,您也可以使用它来指定“.gitconfig”键...但是如果您想指定 known_hosts 键,则需要使用 ConfigMap

这是一个例子:

apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
  name: EXAMPLE
spec:
  lookupPolicy:
    local: false
---
kind: BuildConfig
apiVersion: build.openshift.io/v1
metadata:
  name: EXAMPLE
spec:
  source:
    git:
      uri: ssh://git.EXAMPLE/project/example.git
    configMaps:
    - configMap:
        name: git-ssh-config
        destination_dir: .ssh
  strategy:
    dockerStrategy: {}
  output:
    to:
      kind: ImageStreamTag
      name: "EXAMPLE:latest"
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: git-ssh-config
  namespace: shiny
data:
  known_hosts: |
    git.EXAMPLE ssh-rsa ...

于 2021-04-14T11:41:26.340 回答