Task
在 namespace istio-system 中获取名为 db1-test 的现有 secret 的内容 将 username 字段存储在名为 /cks/sec/user.txt 的文件中,并将password 字段存储在名为 /cks/sec/pass.txt 的文件中。 注意:你必须创建以上两个文件,他们还不存在。
注意:不要在以下步骤中使用/修改先前创建的文件,如果需要,可以创建新的临时文件。
在 istio-system namespace 中创建一个名为 db2-test 的新 secret ,内容如下:
- username : production-instance
- password : KvLftKgs4aVH
最后,创建一个新的 Pod ,它可以通过卷访问 secret db2-test :
- Pod 名称 secret-pod
- Namespace istio-system
- 容器名 dev-container
- 镜像 nginx
- 卷名 secret-volume
- 挂载路径 /etc/secret
解:
kubernetes.io 搜索secret
这两个结果都会用到,第一个结果用于配置pod,第二个用于解码密码
# 获取secret
kubectl get secret db1-test -o jsonpath='{.data}' -n istio-system
{"password":"aGVsbG8=","username":"ZGIx"}
# 将两个字段按题目要求保存到相关文件,注意别写反了
echo 'aGVsbG8=' | base64 --decode > /cks/sec/pass.txt
echo 'ZGIx' | base64 --decode > /cks/sec/user.txt
# 验证一下
cat /cks/sec/pass.txt
cat /cks/sec/user.txt
# 创建db-test2的secret
kubectl create secret generic db2-test \
--from-literal=username=production-instance \
--from-literal=password='KvLftKgs4aVH' \
-n istio-system
回到刚刚上面搜索secret的部分
# 创建pod
vim secret-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: secret-pod #pod名字
namespace: istio-system #命名空间
spec:
containers:
- name: dev-container #容器名字
image: nginx #镜像名字
volumeMounts:
- name: secret-volume #卷名
mountPath: "/etc/secret" #挂载路径
volumes:
- name: secret-volume #卷名
secret:
secretName: db2-test #名为 db2-test 的 secret