This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.6.4.2. 为 Pod 配置投射卷
在创建投射卷时,请注意了解投射卷中介绍的卷文件路径情况。
以下示例演示了如何使用投射卷挂载现有的 secret 卷源。可以使用这些步骤从本地文件创建用户名和密码 secret。然后,创建一个只运行一个容器的 pod,使用投射卷将 secret 挂载到同一个共享目录中。
流程
使用投射卷挂载现有的 secret 卷源。
输入以下内容并相应地替换密码和用户信息,创建包含这些 secret 的文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow user
和pass
值可以是采用 base64 编码的任意有效字符串。以下示例显示
admin
(base64 编码):echo -n "admin" | base64
$ echo -n "admin" | base64
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
YWRtaW4=
YWRtaW4=
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下示例显示
1f2d1e2e67df
密码(base64 编码):echo -n "1f2d1e2e67df" | base64
$ echo -n "1f2d1e2e67df" | base64
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
MWYyZDFlMmU2N2Rm
MWYyZDFlMmU2N2Rm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令来创建 secret:
oc create -f <secrets-filename>
$ oc create -f <secrets-filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc create -f secret.yaml
$ oc create -f secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
secret "mysecret" created
secret "mysecret" created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以使用以下命令来检查是否创建了 secret:
oc get secret <secret-name>
$ oc get secret <secret-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc get secret mysecret
$ oc get secret mysecret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME TYPE DATA AGE mysecret Opaque 2 17h
NAME TYPE DATA AGE mysecret Opaque 2 17h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get secret <secret-name> -o yaml
$ oc get secret <secret-name> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc get secret mysecret -o yaml
$ oc get secret mysecret -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建类似以下示例的 pod 配置文件,使其包含
volumes
部分:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从配置文件创建 pod:
oc create -f <your_yaml_file>.yaml
$ oc create -f <your_yaml_file>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc create -f secret-pod.yaml
$ oc create -f secret-pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
pod "test-projected-volume" created
pod "test-projected-volume" created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 pod 容器是否在运行,然后留意 pod 的更改:
oc get pod <name>
$ oc get pod <name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc get pod test-projected-volume
$ oc get pod test-projected-volume
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出结果应该类似以下示例:
输出示例
NAME READY STATUS RESTARTS AGE test-projected-volume 1/1 Running 0 14s
NAME READY STATUS RESTARTS AGE test-projected-volume 1/1 Running 0 14s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在另一个终端中,使用
oc exec
命令来打开连接到运行中容器的 shell:oc exec -it <pod> <command>
$ oc exec -it <pod> <command>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc exec -it test-projected-volume -- /bin/sh
$ oc exec -it test-projected-volume -- /bin/sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 shell 中,验证
projected-volumes
目录是否包含您的投射源:/ # ls
/ # ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
bin home root tmp dev proc run usr etc projected-volume sys var
bin home root tmp dev proc run usr etc projected-volume sys var
Copy to Clipboard Copied! Toggle word wrap Toggle overflow