需要等效命令“ oc secret new-basicauth”,在openshift中已弃用

时间:2018-08-24 09:28:28

标签: openshift redhat

我正在按照本指南(https://github.com/3scale/apicast)创建一个使用apicast和openshift的环境。

该指南说,我需要使用“ oc secret new-basicauth”创建一个机密,但执行命令后会收到以下消息。

import numpy as np import json img = np.ones((10, 20)) img_str = json.dumps(img.tolist()) img_numpy = numpy.array(json.loads(img_str))

> oc secret new-basicauth apicast-configuration-url-secret --password=https://ACCESS-TOKEN@ACCOUNT-admin.3scale.net

我了解该命令已被弃用,我需要改用“ oc create secret”。但是,我不知道如何使用new命令来实现相同的结果,即创建一个new-basicauth。

3 个答案:

答案 0 :(得分:0)

如果您正在寻找oc create secret reference,以下链接将很有帮助。

https://docs.openshift.com/container-platform/3.9/dev_guide/builds/build_inputs.html#source-secrets-basic-authentication

答案 1 :(得分:0)

我遇到了同样的问题,按照文档操作,以下命令似乎可以解决问题:

oc create secret generic gitlab-credentials \
  --from-literal=username=<user_name> \
  --from-literal=password=<password> \
  --type=gitlab.com/basic-auth

“ gitlab-credentials” 这是秘密名称。

然后,如果要使用刚创建的机密创建应用程序:

oc new-app \
  <imagestream-chosen>~<git-repo-url> \
  --context-dir=<context-dir> \
  --allow-missing-imagestream-tags \
  --source-secret=gitlab-credentials

-源秘密获取先前创建的秘密。

希望这会有所帮助。

答案 2 :(得分:0)

我不得不稍微调整一下 matthieusb 的答案才能让它对我有用。请注意,我是针对 github.com 而不是 gitlab.com 进行基本身份验证的。所以为了和我一样情况的人,我把这个答案放上来。

我查阅了此处找到的 Kubernetes 秘密内置类型,请记住 Openshift 构建在 Kubernetes 之上:Secrets | Kubernetes

我只是将类型更改为 kubernetes.io/basic-auth,我猜这是我想要的,因为我正在对 github.com 进行基本身份验证:

oc create secret generic gitlab-credentials \
  --from-literal=username=<user_name> \
  --from-literal=password=<password> \
  --type=kubernetes.io/basic-auth

这足以让 oc new-app 为我工作。

需要注意的一点是,即使该命令已被弃用,您仍然可以使用它。我用它来确认为secret生成的yaml与上面非弃用命令的yaml相同。

事实上,根据 4.7 发行说明,不推荐使用的功能仍然受支持但不推荐,因为它们最终将被删除。 Openshift Container Platform ... release notes