第十章 Secret & Configmap (上)
敏感信息,直接保存在容器镜像中显然不妥,比如用户名、密码等。K8s提供的解决方案是Secret。
Secret会以密文的方式存储数据,避免了在配置文件中保存敏感信息。Secret会以Volume的形式被mount到Pod,容器可通过文件的方式使用Secret中的敏感数据;
此外,容器也可以环境变量的方式使用这些数据。
Secret可通过命令行或YAML创建。
10.1 创建Secret:
4种方法创建secret:
(1) --from-literal: --from-literal对应一个条目。
kubectl create secret generic mysecret --from-literal=username=admin --from-literal=password=123456
(2) --from-file: 每个文件对应一个条目
kubeusr@GalaxyKubernetesMaster:~$ echo -n >./pas # 往文件pas中写
kubeusr@GalaxyKubernetesMaster:~$ echo -n admin >./user
kubeusr@GalaxyKubernetesMaster:~$ kubectl create secret generic mysecret2 --from-file=./user --from-file=./pas
secret "mysecret2" created
(3) 通过--from-env-file: 文件中的Key=value对应一个条目
kubeusr@GalaxyKubernetesMaster:~$ cat << EOF > env.txt # cat <<EOF > env.txt 是覆盖模式; cat <<EOF >> env.txt是追加模式
> username=admin
> password=
> EOF
kubeusr@GalaxyKubernetesMaster:~$ cat env.txt
username=admin
password=
kubeusr@GalaxyKubernetesMaster:~$ kubectl create secret generic mysecret3 --from-env-file=env.txt
secret "mysecret3" created
(4)通过YAML配置文件:
Secret里面存储的数据必须是通过base64编码后的结果: pkubeusr@GalaxyKubernetesMaster:~$ echo -n admin | base64
YWRtaW4=
kubeusr@GalaxyKubernetesMaster:~$ echo -n | base64
MTIzNDU2
kubeusr@GalaxyKubernetesMaster:~$
apiVersion: v1
kind: Secret
metadata:
name: mysecret4
data:
username: YWRtaW4=
password: MTIzNDU2
kubeusr@GalaxyKubernetesMaster:~$ kubectl apply -f mysecrete.yml
secret "mysecret4" created
10.2 查看Secret:
kubeusr@GalaxyKubernetesMaster:~$ kubectl get secret
NAME TYPE DATA AGE
default-token-qjj5t kubernetes.io/service-account-token 131d
jenkins-credentials Opaque 85d
mysecret Opaque 42m
mysecret2 Opaque 37m
mysecret3 Opaque 20m
mysecret4 Opaque 9m
kubeusr@GalaxyKubernetesMaster:~$ kubectl describe secret mysecret2
Name: mysecret2
Namespace: default
Labels: <none>
Annotations: <none> Type: Opaque Data
====
pas: bytes
user: bytes
kubeusr@GalaxyKubernetesMaster:~$ kubectl edit secret mysecret4 # 查看具体内容 # 然后用base64解码
kubeusr@GalaxyKubernetesMaster:~$ echo -n YWRtaW4=| base64 --decode
admin
第十章 Secret & Configmap (上)的更多相关文章
- 第十章 Secret & Configmap(下)
10.4 ConfigMap Secret可以为Pod提供密码.Token.私钥等敏感数据:对于一些非敏感数据,比如一些配置信息,则可以用ConfigMap. configMap的使用方式与Secre ...
- 第十章 Secret & Configmap (中)
10.3 在Pod中使用Secret 10.3.1 Volume方式 apiVersion: v1 kind: Pod metaata: name: mypod spec: containers: - ...
- ASP.NET Core on K8S深入学习(9)Secret & Configmap
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 一.Secret 1.1 关于Secret 在应用启动过程中需要一些敏感信息, ...
- DirectX12 3D 游戏开发与实战第十章内容(上)
仅供个人学习使用,请勿转载.谢谢! 10.混合 本章将研究混合技术,混合技术可以让我们将当前需要光栅化的像素(也称为源像素)和之前已经光栅化到后台缓冲区的像素(也称为目标像素)进行融合.因此,该技术可 ...
- 3.k8s存储之ConfigMap、Secret
1.ConfigMap ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件.命令行参数或环境变量中读取配置信息.ConfigMap API 给我们提供了向容器 ...
- k8s的configMap基本概念及案例
pod中两种特殊类型的存储卷:secret,configMap pod.spec.volumes.secret pod.spec.volumes.configMap多数情况下,这两个存储卷不是给p ...
- Secret的三种形式
Secret ConfigMap这个资源对象是Kubernetes当中非常重要的一个对象,一般情况下ConfigMap是用来存储一些非安全的配置信息,如果涉及到一些安全相关的数据的话用ConfigMa ...
- java微信接口之四—上传素材
一.微信上传素材接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=A ...
- java微信接口之三—上传多媒体文件
一.微信上传多媒体接口简介 1.请求:该请求是使用post提交from来实现的,我们可以在网页上进行表单提交来实现.地址为: http://file.api.weixin.qq.com/cgi-bin ...
随机推荐
- Linux系统在启动过程中mbr主引导程序被破坏的解决方案
首先,mbr主引导程序被破坏是指系统在启动过程中,磁头找不到/boot分区(windows的启动分区在c盘). 1)下面我们模拟主引导分区被破坏的情况:(在启动分区划分446M的存储大小) 2)重启( ...
- 有关php的session
From:http://blog.csdn.net/sayigood/article/details/4850480 php中session的用法 PHP中的session默认情况下是使用客户端的Co ...
- 转-redux-saga
React+Redux Cycle(来源:https://www.youtube.com/watch?v=1QI-UE3-0PU) 让我惊讶的是,redux-saga 的作者竟然是一名金融出身的在 ...
- 文件处理工具 gif合成工具 文件后缀批量添加工具 文件夹搜索工具 重复文件查找工具 网页图片解析下载工具等
以下都是一些简单的免费分享的工具,技术支持群:592132877,提供定制化服务开发. Gif动图合成工具 主要功能是扫描指定的文件夹里的所有zip文件,然后提取Zip文件中的图片,并合成一张gif图 ...
- AngularX 指令(ngForof)(转载)
该指令用于基于可迭代对象中的每一项创建相应的模板.每个实例化模板的上下文对象继承于外部的上下文对象,其值与可迭代对象对应项的值相关联. NgForOf 指令语法 * 语法糖 <li *ngFor ...
- java面试题02
1.JAVA内部使用的编码格式是(utf-8) 2. public class Threads2 implements Runnable { @Overridepublic void run() {S ...
- Vim-Go环境搭建
Vim-Go环境搭建 https://www.cnblogs.com/qcloud1001/p/10072325.html https://www.cnblogs.com/chris-cp/p/584 ...
- jquery 给新增的addClass 使用css样式
假如有一个情况,当导航url找不到相同的地址,就会出现找不到地址,高亮当前导航不出现 解决 办法 记得使用文档载入完成后执行的函数. 因为 .current 是 addClass 新增的class $ ...
- 《DSP using MATLAB》示例Example7.14
代码: M = 20; alpha = (M-1)/2; l = 0:M-1; wl = (2*pi/M)*l; Hrs = [1, 1, 1, zeros(1, 15), 1, 1]; % Idea ...
- Siddhi cep java 集成简单使用
Siddhi 是一个开源的cep (Complex Event Processing)类库,有一个明显的例子是uber 的事件处理,具体可以google 几张参考cep 以及siddhi 图 java ...