openshift - Openshift:无法使用文件添加秘密
问题描述
我无法使用以下命令从文件中添加秘密:
oc 创建 -f /tmp/config.json
输出:错误:无法解码“/tmp/config.json”:'{ 中缺少对象'Kind'
# cat /tmp/config.json
{
"auths": {
"my-repo-location" : {
"auth": "ZTAxODE0W5V1yndNfoUdYWjRNtU="
}
}
}
解决方案
正如@WillGordon 的评论所指出的,您可以使用oc create secret generic
,如下例所示:
$ cat config.json
{
"auths": {
"my-repo-location" : {
"auth": "ZTAxODE0W5V1yndNfoUdYWjRNtU="
}
}
}
$ oc create secret generic config --from-file=./config.json
secret/config created
$ oc get secret config -o yaml
apiVersion: v1
data:
config.json: ICAgIHsKICAgICAgICAiYXV0aHMiOiB7CiAgICAgICAgICAgICJteS1yZXBvLWxvY2F0aW9uIiA6IHsKICAgICAgICAgICAgICAgICJhdXRoIjogIlpUQXhPREUwVzVWMXluZE5mb1VkWVdqUk50VT0iCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cg==
kind: Secret
metadata:
creationTimestamp: 2020-01-10T15:00:21Z
name: config
namespace: next
resourceVersion: "46478941"
selfLink: /api/v1/namespaces/next/secrets/config
uid: ec4a4538-33b9-11ea-a9de-005056b7c210
type: Opaque
$
但是,如果创建用于访问 Docker 注册表的密钥,您可以使用该docker-registry
选项,如下所示:
oc create secret docker-registry SECRET_NAME \
--docker-server=DOCKER-IMAGE-REPOSITORY \
--docker-username=username@email.com \
--docker-password="password" \
--docker-email=username@email.com
推荐阅读
- python - 如何将存储为字典键的数据帧连接到单个数据帧中?
- cobol - 从 cobol 中的字符串中删除特定值
- r - 在 Windows 上的 R 中使用 nvBLAS?
- java - jul-to-log4j-bridge “mvn package” 以“package org.apache.log4j.plugins 不存在”结尾 编译错误
- java - 即使观察到目标数据库记录已更新,Statement.executeUpdate() 仍返回 0
- c# - ASP.NET Core Web API 验证错误处理
- ubuntu - 为什么我在创建反应原生应用程序时遇到意外的 EOF 错误文件
- java - 将复杂的 while 循环重构为 Java 8 流
- android - 膨胀底部导航视图时出错
- list - Java 8:如何从两个字符串列表中创建映射