文档章节

Kubernetes里的secret最基本的用法

JerryWang_SAP
 JerryWang_SAP
发布于 11/20 23:38
字数 463
阅读 6
收藏 0

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也很容易,看一个例子:

apiVersion: v1

kind: Pod

metadata:

name: secret-pod

spec:

restartPolicy: Never

volumes:

- name: credentials

secret:

secretName: admin-access

defaultMode: 0440

containers:

- name: secret-container

image: alpine:3.8

command: [ "/bin/sh", "-c", "cat /etc/foo/username.txt /etc/foo/password.txt" ]

volumeMounts:

- name: credentials

mountPath: "/etc/foo"

readOnly: true

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

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

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

© 著作权归作者所有

共有 人打赏支持
JerryWang_SAP
粉丝 18
博文 532
码字总数 411648
作品 0
深圳
程序员
私信 提问
Terraform 部署容器服务Kubernetes集群及Wordpress应用

本文档介绍了如何通过 Terraform 在 VPC 环境下部署一个阿里云容器服务 Kubernetes 集群,并在该集群之上,部署一个 WordPress 样例应用。本文档提供一种构建阿里云基础设施的解决方案,让您...

箫竹aron
09/18
0
0
kubernetes简单介绍和实战

kubernetes简单介绍和实战 在本文中,我们从技术细节上对kubernetes进行简单运用介绍,利用一些yaml脚本层面上实例告诉大家kubernetes基本概念。Kubernetes以及它呈现出的编程范式值得你去使...

品鉴初心
08/16
0
0
与Ceph RBD关联,实现Kubernetes持久化存储

团队介绍 笔者最近在调研Kubernetes持久化存储,准备写一两篇关于这方面的文章,一是作为记录,二是可以给需要的同学作为一个参考。 Kubernetes中对于存储的使用主要集中在以下几个方面: 服...

360运维开发团队
04/19
0
0
上手kubernetes之前,你应该知道这6件事

在过去的一年多时间了里,我们深入了解了容器编排工具,引导团队构建并发布了可以部署在kubernetes上的cloud native GitLab helm chart。对于正在考虑上手Kubernetes的朋友,我们有以下6点建...

好雨云帮
05/03
0
0
istio源码分析之pilot-discovery模块分析

本文分析的istio代码版本为0.8.0,commit为0cd8d67,commit时间为2018年6月18日。 本文为之一: Service Mesh深度学习系列part1—istio源码分析之pilot-agent模块分析 Service Mesh深度学习系...

xiaomin0322
07/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

rabbitmq学习

使用docker安装rabbit docker run -d --hostname my-rabbit --name rabbit -p 8080:15672 rabbitmq:management--hostname:指定容器主机名称--name:指定容器名称-p:将mq端口号映射到本地...

元谷
23分钟前
1
0
想知道谁是你的最佳用户?基于Redis实现排行榜周期榜与最近N期榜

本文由云+社区发表 前言 业务已基于Redis实现了一个高可用的排行榜服务,长期以来相安无事。有一天,产品说:我要一个按周排名的排行榜,以反映本周内用户的活跃情况。于是周榜(按周重置更新...

腾讯云加社区
25分钟前
2
0
函数计算性能福利篇(二) —— 业务冷启动优化

继前一篇《函数计算性能福利篇——系统冷启动优化》,我们再来看看近期函数计算推出的 Initializer 功能之后,带来的一波高能性能优化成果。 背景 函数计算是一个事件驱动的全托管 serverle...

阿里云官方博客
30分钟前
1
0
开源版本说明

1527
32分钟前
2
0
Mysql经验-------持续更新

单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表。 说明:如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。

DoLo-lty
34分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部