Kubernetes里的secret最基本的用法

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: Kubernetes里的secret最基本的用法
+关注继续查看

Secret解决了密码、token、密钥等敏感数据的配置问题,使用Secret可以避免把这些敏感数据以明文的形式暴露到镜像或者Pod Spec中。


Secret可以以Volume或者环境变量的方式使用。


使用如下命令行创建一个secret:


kubectl create secret generic admin-access --from-file=./username.txt --from-file=./password.txt


输入文件username.txt和password.txt需要手动创建,里面分别维护用于测试的用户名和密码。




创建成功后,发现secret的类型为Opaque:




实际上,Kubernetes的secret有三种类型:


1. Service Account:用来访问Kubernetes API,由Kubernetes自动创建,并且会自动挂载到Pod的 /run/secrets/kubernetes.io/serviceaccount 目录中;


2. Opaque:base64编码格式的Secret,用来存储密码、密钥等;


3. kubernetes.io/dockerconfigjson :用来存储私有docker registry的认证信息。


而我们刚刚创建的secret的类型为Opaque,因此在kubectl get secrets的返回结果里,能看到password和username的值均为base64编码:



要在pod里消费这个secret也很容易,看一个例子:

image.pngimage.png

创建pod,自动执行,通过log命令查看pod的日志:


发现/bin/sh命令被执行了,pod mount的目录/etc/foo下的username.txt和password.txt通过cat命令显示了输出:

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
3月前
|
存储 Kubernetes API
Kubernetes 的 secret 并不是真正的 secret(下)
Kubernetes 的 secret 并不是真正的 secret
44 0
|
3月前
|
存储 Kubernetes API
Kubernetes 的 secret 并不是真正的 secret(上)
Kubernetes 的 secret 并不是真正的 secret
42 0
|
4月前
|
存储 Kubernetes 数据安全/隐私保护
k8s--配置存储 ConfigMap、Secret
k8s--配置存储 ConfigMap、Secret
|
5月前
|
存储 Kubernetes 安全
【k8s 系列】k8s 学习二十三-2,ConfigMap 补充 和 Secret
对于上一篇文章我们分享了为什么要使用 ConfigMap ,我们创建 ConfigMap 的时候可以传入单个或者多个键值对,也可以传入文件,还分享了如何简单的传入 ConfigMap 里面的数据作为环境变量
|
6月前
|
存储 Kubernetes Linux
【探索 Kubernetes|作业管理篇 系列 8】探究 Pod 的 API 对象属性级别与重要字段用法
【探索 Kubernetes|作业管理篇 系列 8】探究 Pod 的 API 对象属性级别与重要字段用法
47 1
|
6月前
|
canal 存储 Kubernetes
Kubernetes 之7大CNI 网络插件用法和对比
的通信,支持多种网络后端,如 VXLAN、UDP 和 Host-GW。 Calico:Calico 是一种基于 BGP 的网络插件,它使用路由表来路由容器之间的流量,支持多种网络拓扑结构,并提供了安全性和网络策略功能。 Canal:Canal 是一个组合了 Flannel 和 Calico 的网络插件,它使用 Flannel 来提供容器之间的通信,同时使用 Calico 来提供网络策略和安全性功能。 Weave Net:Weave Net 是一种轻量级的网络插件,它使用虚拟网络技术来为容器提供 IP 地址,并支持多种网络后端,如 VXLAN、UDP 和 TCP/IP,同时还提供了网络策略
2044 0
|
12月前
|
存储 JSON 缓存
kubernetes secret使用详解(2)
kubernetes secret使用详解(2)
|
12月前
|
Kubernetes Shell API
kubernetes secret使用详解(1)
kubernetes secret使用详解(1)
kubernetes secret使用详解(1)
|
Kubernetes Cloud Native 应用服务中间件
云原生|kubernetes|关于secret的一些使用(二)
云原生|kubernetes|关于secret的一些使用
97 0
|
存储 Kubernetes Cloud Native
云原生|kubernetes|关于secret的一些使用(一)
云原生|kubernetes|关于secret的一些使用
173 0
推荐文章
更多