Openshift:无法使用文件添加秘密

时间:2020-01-08 10:29:16

标签: openshift openshift-origin openshift-client-tools openshift-3 openshift-enterprise

我无法使用以下命令从文件添加机密:

oc create -f /tmp/config.json

输出:错误:无法解码“ /tmp/config.json”:'{

中缺少对象'Kind'
# cat /tmp/config.json 

    {
        "auths": {
            "my-repo-location" : {
                "auth": "ZTAxODE0W5V1yndNfoUdYWjRNtU="
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

@WillGordon's条注释所指出的,您可以使用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