23.5. 为 Pod 配置投射卷
以下示例演示了如何使用投射卷挂载现有 Secret 卷源。
可以使用这些步骤从本地文件创建用户名和密码 secret。然后,创建一个只运行一个容器的 pod,使用投射卷将 Secret 挂载到同一个共享目录中。
创建包含 secret 的文件:
例如:
nano secret.yaml
$ nano secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下内容,根据需要替换密码和用户信息:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow user
和pass
值可以是采用 base64 编码的任意有效字符串。此处的示例使用了 base64 编码值user: admin
和pass:1f2d1e2e67df
。echo -n "admin" | base64 echo -n "1f2d1e2e67df" | base64
$ echo -n "admin" | base64 YWRtaW4= $ echo -n "1f2d1e2e67df" | base64 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 secret "mysecret" created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以使用以下命令来检查是否创建了 secret:
oc get secret <secret-name> oc get secret <secret-name> -o yaml
$ oc get secret <secret-name> $ oc get secret <secret-name> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc get secret mysecret
$ oc get secret mysecret NAME TYPE DATA AGE mysecret Opaque 2 17h
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 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 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 bin home root tmp dev proc run usr etc projected-volume sys var
/ # ls bin home root tmp dev proc run usr etc projected-volume sys var
Copy to Clipboard Copied! Toggle word wrap Toggle overflow