我们可以用secret管理任何敏感数据。这些敏感数据是容器在运行时需要的。同时我们又不想把这些数据保存到镜像中。
 
secret可以用于管理:
    1、用户名和密码
    2、TLS证书
    3、SSH密钥
    4、其他小于500KB的数据
 
secret只能在 swarm service 中使用,普通容器想使用secret的话, 可以将其包装成副本数为1 的service
 
我们这里在举一个使用secret的典型场景。
 
数据中心有三套swarm环境,分别用于研发、测试和生产。对于同一个应用,在不同的环境中使用不同的用户名和密码。我们可以在三个环境中分别创建secret,不过使用相同的名字,比如 username 和 password。应用部署的时候三套环境指定同样的secret名字即可。
 
除了敏感数据,secret当然也可以用于非敏感数据,比如配置文件,不过目前新版本的Docker 提供了config子命令来管理不需要加密的数据。config 与 secret 命令的使用方法完全一致。
 
secret的安全性
 
当在swarm中创建secret时,Docker 通过 TLS 连接将加密后的secret 发送给所有的manager节点。
 
secret 创建后,即使是 swarm manager 也无法查看secret的明文数据,只能通过 docker secret inspect 查看secret的一般信息。
 
只有当secret 被指定的service 使用时,Docker才会将解密后的secret以文件的形式mount到容器中,默认的路径为 /run/secret/<secret_name>。
 
当容器停止运行是,Docker会unmount secret 文件,并从节点上清除。
 

109、Secret的使用场景 (Swarm16)的更多相关文章

  1. Secret 的使用场景 - 每天5分钟玩转 Docker 容器技术(109)

    我们可以用 secret 管理任何敏感数据.这些敏感数据是容器在运行时需要的,同时我们不又想将这些数据保存到镜像中. secret 可用于管理: 用户名和密码. TLS 证书. SSH 秘钥. 其他小 ...

  2. MySQL经典查询场景

    一.设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).用SQL语句创建四个表并完成相关题目. 表结构如下 #建学生信息表 ...

  3. 原创:搜索排序算法之自定义性能优良的PriorityQueue(与Python的heap比较)

    前几天写了一篇关于"史上对BM25模型最全面最深刻解读以及lucene排序深入解读"的博客,lucene最后排序用到的思想是"从海量数据中寻找topK"的时间空 ...

  4. K8s之Projected Volume

    四种:Secret .ConfigMap.Downward API.ServiceAccountToken 1.Secret Secret:帮你把Pod想要访问的加密数据,存放到Etcd中,然后,通过 ...

  5. 编写高质量代码:改善Java程序的151个建议(第7章:泛型和反射___建议106~109)

    建议106:动态代理可以使代理模式更加灵活 Java的反射框架提供了动态代理(Dynamic Proxy)机制,允许在运行期对目标类生成代理,避免重复开发.我们知道一个静态代理是通过主题角色(Prox ...

  6. CSharpGL(2)设计和使用场景元素及常用接口

    CSharpGL(2)设计和使用场景元素及常用接口 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更适合入 ...

  7. java web学习总结(十九) -------------------监听器简单使用场景

    一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听器技术来实现这个功能了. 1 package me.gacl.web.listener; 2 3 ...

  8. hdu.1111.Secret Code(dfs + 秦九韶算法)

    Secret Code Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  9. zookeeper典型应用场景之一:master选举

    对于zookeeper这种东西,仅仅知道怎么安装是远远不够的,至少要对其几个典型的应用场景进行了解,才能比较全面的知道zk究竟能干啥,怎么玩儿,以后的日子里才能知道这货如何能为我所用.于是,有了如下的 ...

随机推荐

  1. 黑马lavarel教程---10、lavarel模型关联

    黑马lavarel教程---10.lavarel模型关联 一.总结 一句话总结: 1.模型关联比较方便,一次定义,后面都可以使用 2.关联关系 使用动态属性进行调用 1.一对多,多对多实例? 一对多: ...

  2. VNC连接Ubuntu 16.04桌面灰色的问题解决

        1.安装gnome apt-get install --no-install-recommends ubuntu-desktop gnome-panel gnome-settings-daem ...

  3. PHP AJAX返回 "TEXT"

    例子:通过AJAX间接访问数据库,查出Nation表显示在页面上,并添加删除按钮 //首先在外层添加一个按钮,并造好表头 <div><input type="button& ...

  4. leetcode-hard-array- 227. Basic Calculator II

    mycode  29.58% class Solution(object): def calculate(self, s): """ :type s: str :rtyp ...

  5. [sh]shell语法小结

    参考 基础语法 数字比较 -lt -eq -gt [ `ps -ef|grep nginx|grep -v grep|wc -l` -eq 0 ] str比较 == != [ $USER == &qu ...

  6. NAT地址转换常用命令详解

    缺省值:没有启用NAT. 命令模式:全局配置模式. 说明:静态NAT主要用于那些对需要对外部用户开放的服务,如Web服务器等,它可以把本地地址映射为指定的全局地址. 第一种格式实现的是一对一的NAT映 ...

  7. MySQL 将 字符串 转为 整数

    MySQL 将 字符串 转为 整数 1.CAST(epr AS type) 1)type 为 SIGNED " AS SIGNED); 效果如下: 2)type 为 UNSIGNED &qu ...

  8. 电脑按住Ctrl+Alt+任何一个方向键。屏幕会改变方向。和IntelliJ IDEA 快捷键冲突,怎么修改?

    电脑按住Ctrl+Alt+任何一个方向键.屏幕会改变方向.和IntelliJ IDEA 快捷键冲突,怎么修改? 背景介绍 IntelliJ IDEA默认返回上一步/下一步操作的快捷键是: Ctl+Al ...

  9. Codeforces--C2. Good Numbers (hard version)

    题目链接http://codeforces.com/contest/1249/problem/C2.这是道进制转换题,我们的目的是找到最小的一个每个位都是1的三进制数来表示一个十进制数n.做法是,先将 ...

  10. golang(10)interface应用和复习

    原文链接 http://www.limerence2017.com/2019/10/11/golang15/ interface 意义? golang 为什么要创造interface这种机制呢?我个人 ...