k8s的secret基本概念及案例

网友投稿 243 2022-09-12

k8s的secret基本概念及案例

secret相对于configMap,功能上是相似的但是secret是以其他编码方式去记录配置信息的,但是也可以被解读,只不过有技术门槛,不是那么容易就被解读。使用base64可以解码:echo ******** | base64 -d********是kubectl describe secret secretName -o yaml中的值的编码pod.spec.volumes.secretsecret有三种类型:(查看:kubectl create secret --help)  docker-registry  一般保存docker-registry的认证信息  generic  通用的,一般保存一些密码数据  tls  一般保存私钥或证书pod创建时若连接到私有仓库中需要认证,则要创建专用的secret (docker-registry)类型的pod.spec.imagePullSecrets字段中需要指明secret的name generic方式的secret,里面的键值虽说不是铭文,但是解码的技术手段要求不高。对于密码类型的信息,最好用数据卷挂载方式来实现信息的注入,然后以文件形式挂载到挂载点,设置权限。例:用数据卷方式,将mysql的密码注入到pod的容器中。1.创建secretkubectl create secret generic test --from-literal=MYSQL_ROOT_PASSWORD=smb@nds2.创建pod 1 vim myapp-demo.yaml 2 apiVersion: apps/v1 3 kind: Deployment 4 metadata: 5 name: myapp-demo 6 namespace: default 7 spec: 8 replicas: 1 9 selector:10 matchLabels:11 app: myapp12 template:13 metadata:14 labels:15 app: myapp16 spec:17 containers:18 - name: myapp19 image: ikubernetes/myapp:v120 imagePullPolicy: IfNotPresent21 ports:22 - name: containerPort: 8024 volumeMounts:25 - name: mysql26 mountPath: /test/27 volumes:28 - name: mysql29 secret:30 secretName: test3.启动pod,查看信息是否注入1 kubectl apply -f myapp-demo.yaml2 kubectl exec -it myapp-demo-75f8f9bf9f-8nbdv -- /bin/sh3 / # cat test/MYSQL_ROOT_PASSWORD4 smb@nds/ #可以看到,信息注入后是明文的,可以设置查看访问权限解决。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:全媒派:豆瓣异世界小组:人类对穿越时空的想象,蕴藏在各种媒介奇观里!
下一篇:k8s的认证和service account简述
相关文章

 发表评论

暂时没有评论,来抢沙发吧~