当前位置: 首页 > news >正文

Etcd权限认证管理

1 查看是否开启权限认证 ctl auth status

2 开启权限认证 ctl auth enable。开启后每一条命令都要加上用户 --user=root:root(root默认最高权限)

3 创建其他用户 ctl user add user1 --user=用户名:密码 

4 创建角色 ctl role add testR --user= 

5 为角色添加权限 ctl role grant-permission testR read  key --user=root:root 为testR角色添加了对key资源读的权限

6为指定用户授予权限的功能 ctl user grant-role  bowen testR --user=root:root

7 使用用户具有的权限操作读取资源key 成功     ctl get key --user=bowen:123  

8 使用用户的权限 操作写入资源key失败(无权限)ctl put key "testR角色授予bowen用户为key键只读操作"  --user=bowen:123  

9 使用root持有的读写角色tset权限操作资源key成功 ctl put key "test角色授予root用户为key键只读操作" --user=root:root  root具有读写权限同时即便授予的权限不上指定的资源key,ront的用户同样可以操作,其他用户不具有。

etcd请求流程(关注点预写日志,读从节点数据一致性保证(commitId号比对)多版本控制mvcc

以及实现原理treeindex,数据持久实现borldb的底层结构 btree+ 另外加有buff 命中不查询数据库

etcd在k8s中的运用

etcd同步机制

grpc 负责将请求转发给raft模块,raft负责 选举,数据同步预写日志操作,当需要写请求时主节点会提案,将要写入的数据写入预写日志中,并发送给从节点写入同步的日志,当多半节点完成日志的写入,主节点会提交提案生成commitId,主节点如何通过日志来保持各个节点的数据一致性,主要是在预写日志阶段通过nextInde索引发给从节点同步日志,通过matchindex来跟踪从节点的日志写入情况,当大多数停留在matchindex索引的同步日志点,主节点就会把数据提交到持久层,持久层通过mvcc版本控制实现数据的一致性存储,通过treeindex的btree+存储key和对应的版本号,通过boltdb将key-version的形式为key存储在btree+数据库中,查找时先查找key的索引版本树,得到历史版本最新版本,通过key-version查找buffer缓冲,缓冲没有再查找boltdb的b+树找到值并换回,再raft模块中如果主节点挂了,在其他从节点中选举,选举规则任期大的有投票权优先,相同任期中根据预写的日志索引大小优先,从同步多的预写日志优先,停机开机之后会继续同步预写日志不丢失数据。

etcd在k8s工作的流程 负责存储集群运行的状态信息,如资源类型pod、configMap、密钥、

​​​

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • nodejs - puppeteer 无头浏览器截图 JAVA后端调用
  • uniapp 中集成 axios 封装request,实现若依权限认证和若依 api方法共用
  • Leetcode 43. 字符串相乘
  • 两个多边形 贴图
  • 开源 AI 智能名片 S2B2C 商城小程序与正能量融入对社群归属感的影响
  • Python “函数” ——Python面试100道实战题目练习,巩固知识、检查技术、成功就业
  • 飞睿智能实时雷达活体探测传感器模块,智能家居静止检测实时感知人员有无
  • PHP 面向对象编程
  • 揭秘高效编程工具的选择与使用
  • 揭秘“隐形杀手”:谐波对医院电网的隐形危害
  • STMCubeMx——C8T6的串口调试、接收与发送
  • android和ios双端应用性能的测试工具
  • 丹摩智算平台体验:AI开发从未如此简单
  • 免费制作证件照的小程序源码
  • Python | Leetcode Python题解之第435题无重叠区间
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • express + mock 让前后台并行开发
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • javascript面向对象之创建对象
  • Java知识点总结(JavaIO-打印流)
  • Mysql数据库的条件查询语句
  • php ci框架整合银盛支付
  • Shell编程
  • Web设计流程优化:网页效果图设计新思路
  • 工作中总结前端开发流程--vue项目
  • 记一次和乔布斯合作最难忘的经历
  • 理清楚Vue的结构
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 推荐一个React的管理后台框架
  • 小试R空间处理新库sf
  • const的用法,特别是用在函数前面与后面的区别
  • ​2020 年大前端技术趋势解读
  • ​字​节​一​面​
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #FPGA(基础知识)
  • #laravel部署安装报错loadFactoriesFrom是undefined method #
  • (12)Linux 常见的三种进程状态
  • (9)STL算法之逆转旋转
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (三)mysql_MYSQL(三)
  • (小白学Java)Java简介和基本配置
  • (学习总结)STM32CubeMX HAL库 学习笔记撰写心得
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • *算法训练(leetcode)第四十天 | 647. 回文子串、516. 最长回文子序列
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .gitignore文件忽略的内容不生效问题解决
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .net core使用EPPlus设置Excel的页眉和页脚
  • .NET Core中Emit的使用
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...