我可以从文件在 openshift 4.3 中创建机密吗?

can I create secrets in openshift 4.3 from files?

我也是 openshift 和 Kubernetes 的新手(来自 Docker swarm world)。我正在寻找使用定义文件在 openshift 中创建秘密。这些秘密是从文件中生成的。举例说明我正在尝试做的事情,假设我有一个文件 "apache.conf" 并且我想将该文件作为一个秘密安装到容器中作为卷安装。在 swarm 中,我可以在堆栈文件中写入以下内容:

my-service:
 secrets:
  - source: my-secret
    target: /home/myuser/
    mode: 0700
secrets:
 my-secret:
   file: /from/host/apache.conf

在 openshift 中,我希望有类似的东西:

apiVersion: v1
kind: Secret
metadata:
- name: my-secret
  files:
    - "/from/host/apache.conf"
type: Opaque 

我发现我可以做类似事情的唯一方法是使用 kustomize and according to this post 将 Kustomize 与 openshift 结合使用很麻烦。有没有更好的方法从文件创建秘密?

不,你不能

原因是对象Secret保存在etcd数据库中,没有绑定任何主机。因此,对象不理解路径。 您可以使用 cli 从文件创建 secret,然后内容将保存在 Secret 对象中。

oc create secret generic my-secret --from-file=fil1=pullsecret_private.json