Kubernetes存储持久文件

时间:2018-06-21 00:05:27

标签: kubernetes certificate

在Kubernetes中存储持久文件的最佳方法是什么?我有一个证书(.pfx),我想将其路径传递给应用程序。从外观上看,它不能秘密存储。正在考虑一个卷,但问题是如何将文件上传到该卷?以及选择哪种类型的音量?还是有其他有效的方法?

2 个答案:

答案 0 :(得分:1)

从您的问题尚不清楚,为什么得出这样的结论:不能将其存储为秘密。这是秘密的主要use cases之一。

第1步:从文件创建机密:

kubectl create secret generic mysecret --from-file=myfile=/tmp/my.pfx

步骤2。将Secret卷安装到Pod中:

kind: Pod
apiVersion: v1
metadata:
  name: secret-test-pod
spec:
  volumes:
  - name: secret-volume
    secret:
      secretName: mysecret
  containers:
  - name: ...
    image: ...
    volumeMounts:
    - name: secret-volume
      mountPath: "/etc/secret-volume"

您的容器应该在/etc/secret-volume/myfile上看到一个文件

答案 1 :(得分:0)

您可以将“ .pfx”文件复制到本地目录(例如“ / home / certs /”)中,然后将该目录安装到您的Pod中,请在下面的yaml中选中

kind: Pod
apiVersion: v1
metadata:
  name: secret-test-pod
spec:
  volumes:
  - name: localhostpath
    hostPath:
      path: /home/certs # path on local file system
      type: DirectoryOrCreate # create if not exist
  containers:
  - name: ...
    image: ...
    volumeMounts:
    - name: localhostpath
      mountPath: "/root/certs" # path inside pod or containers