创建Secret
题目
1 在namespace istio-system中获取名为db1-test的现有secret的内容
将username字段存储在名为 /cks/sec/user.txt的文件中,并将password字段存储在名为 /cks/sec/pass.txt的文件中。
注意:你必须创建以上两个文件,他们还不存在。
注意:不要在以下步骤中使用/修改先前创建的文件,如果需要,可以创建新的临时文件。
2 在istio-system namespace中创建一个名为db2-test的新secret,内容如下:
username : production-instance
password : KvLftKgs4aVH
3 最后,创建一个新的Pod,它可以通过卷访问secret db2-test :
Pod 名称 secret-pod
Namespace istio-system
容器名 dev-container
镜像 nginx
卷名 secret-volume
挂载路径 /etc/secret
可以参考的链接
使用 kubectl 管理 Secret | Kubernetes
步骤
1 在namespace istio-system中获取名为db1-test的现有secret的内容
将username字段存储在名为 /cks/sec/user.txt的文件中,并将password字段存储在名为 /cks/sec/pass.txt的文件中。
kubectl get secret db1-test -n istio-system -o jsonpath='{.data}'
// 返回结果比如 {"password":"MWYyZDFlMmU2N2Rm","username":"YWRtaW4="}
// 将这两个结果写到文件中
echo 'MWYyZDFlMmU2N2Rm' | base64 --decode > /cks/sec/user.txt
echo 'YWRtaW4=' | base64 --decode > /cks/sec/pass.txt
2 在istio-system namespace中创建一个名为db2-test的新secret,内容如下:
username : production-instance
password : KvLftKgs4aVH
kubectl create secret generic db2-test -n istio-system \
--from-literal=username=production-instance \
--from-literal=password='KvLftKgs4aVH'
//转义密码最简便的方法是用单引号括起来
3 最后,创建一个新的Pod,它可以通过卷访问secret db2-test :
Pod 名称 secret-pod
Namespace istio-system
容器名 dev-container
镜像 nginx
卷名 secret-volume
挂载路径 /etc/secret
apiVersion: v1
kind: Pod
metadata:
name: secret-pod
namespace: istio-system
spec:
containers:
- name: dev-container
image: nginx
volumeMounts:
- name: secret-volume
mountPath: "/etc/secret"
readOnly: true
volumes:
- name: secret-volume
secret:
secretName: db2-test