在kubernetes 集群内访问k8s API服务

所有的 kubernetes 集群中账户分为两类,Kubernetes 管理的 serviceaccount(服务账户) 和 useraccount(用户账户)。基于角色的访问控制(“RBAC”)使用“rbac.authorization.k8s.io”API 组来实现授权控制,允许管理员通过Kubernetes API动态配置策略。

640?wx_fmt=png

API Server 内部通过用户认证后,然后进入授权流程。对合法用户进行授权并且随后在用户访问时进行鉴权,是权限管理的重要环节。
在 kubernetes 集群中,各种操作权限是赋予角色(Role 或者 ClusterRole)的。通过创建 RoleBinding 或者 ClusterBinding 把 用户(User),用户组(Group)或服务账号(Service Account)绑定在 Role 或 ClusterRole 上。这样用户,用户组或者服务账号就有了相对应的操作权限。
这里有个需要注意的地方
ClusterRoleBinding 只能绑定 ClusterRole,而 RoleBinding 可以绑定 Role 或者 ClusterRole。
根据上图:
1.User1 通过 RoleBinding 把 Role 绑定,可以在 Namespace A 获得 Role 中的权限;
2.User2 和 User3 通过 RoleBinding 把 ClusterRole 绑定,这两个用户即可以在 Namespace B 空间中获得 ClusterRole 权限;
3.如果 User1 通过 ClusterRoleBinding 把 ClusterRole 绑定,这个用户即可在所有的 Namespace 空间中获得 ClusterRole 权限;

Service account是为了方便Pod里面的进程调用Kubernetes API或其他外部服务而设计的。它与User account不同,具体参看 https://www.kubernetes.org.cn/service-account 。

需要访问 apiserver 需要经过 认证,授权,准入控制 三关。首先需要进行认证,认证通过后再进行授权检查,因有些增删等某些操作需要级联到其他资源或者环境,这时候就需要准入控制来检查级联环境是否有授权权限了。默认情况下,RBAC策略授予控制板组件、Node和控制器作用域的权限,但是未授予“kube-system”命名空间外服务帐户的访问权限。这就允许管理员按照需要将特定角色授予服务帐户。具体授权可以参看 Kubernetes-基于RBAC的授权: https://www.kubernetes.org.cn/4062.html 。

在k8s集群的Pod 访问API Server,就是需要使用Servive account 的RBAC的授权。下面的代码就是Kubernetes 客户端KubeClient 的实现

640?wx_fmt=png

从k8s 带给pod的环境变量、token以及证书去访问k8s API Server。

640?wx_fmt=png

所以这里就是要给Service Account 授权,授权可以参考Kubernetes-基于RBAC的授权: https://www.kubernetes.org.cn/4062.html 

原文地址:https://www.cnblogs.com/shanyou/p/10856916.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 
640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315948.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Core之只是多看了你一眼

技术学习是一件系统性的事情,如果拒绝学习,那么自己就会落后以至于被替代。.NET也是一样,当开源、跨平台成为主流的时候,如果再故步自封,等待.NET的就是死路一条,幸好.NET Core问世了,社区反响积…

TOTP 介绍及基于 C# 的简单实现

TOTP 介绍及基于 C# 的简单实现IntroTOTP 是基于时间的一次性密码生成算法,它由 RFC 6238 定义。和基于事件的一次性密码生成算法不同 HOTP,TOTP 是基于时间的,它和 HOTP 具有如下关系:TOTP HOTP(K, T)HOTP(K,C) Truncate(HMAC-…

微软携手红帽,共筑开源新未来

官宣了,官宣了!微软携手红帽正式推出重要力作Global Azure 公有云第一款联合管理的 OpenShift 产品,业界欢腾!自此,微软在拥抱云计算开源之路上,多了一股强劲的推动力。5月初刚刚举办的全球 Red Hat Summit…

.NET Core 3.0之深入源码理解Startup的注册及运行

开发.NET Core应用,直接映入眼帘的就是Startup类和Program类,它们是.NET Core应用程序的起点。通过使用Startup,可以配置化处理所有向应用程序所做的请求的管道,同时也可以减少.NET应用程序对单一服务器的依赖性,使我们…

置换群,Polya引理和burnside引理(等价类计数问题)

参考文章: 等价类计数问题 Burnside引理&Plya定理 Burnside引理与Polya定理 置换群和Burnside引理,Polya定理 概念引入: 离散数学应该学过置换群的相关概念,置换本质就是映射,可以理解成一个正方形绕其中心逆时针…

时隔两年的重大更新,微软发布.NET Framework 4.8

微软发布了.NET Framework 4.8,这是两年来.NET 框架的第一个重大更新。新版本包含多个产品领域的改进,其中包括 Windows 窗体、WCF、WorkFlow 和 WPF。它还在基类库(BCL)和通用语言运行时(CLR)中有一些更新…

EventStore文件存储设计

背景ENode是一个CQRSEvent Sourcing架构的开发框架,Event Sourcing需要持久化事件,事件可以持久化在DB,但是DB由于面向的是CRUD场景,是针对数据会不断修改或删除的场景,所以内部实现会比较复杂,性能也相对比…

.NET Core 如何禁止.resx文件自动生成Designer.cs

点击上方蓝字关注“汪宇杰博客”在 Visual Studio 中,如果我们在一个 .NET Core 工程里加入了一个资源文件(.resx),那么你会发现有个对应的 .Designer.cs 文件被自动生成了,每次资源文件的内容有变化,这个设…

P1450 [HAOI2008]硬币购物

P1450 [HAOI2008]硬币购物 题意: 共有 4 种硬币。面值分别为c1,c2,c3,c4c_1,c_2,c_3,c_4c1​,c2​,c3​,c4​。 某人去商店买东西,去了 n 次,对于每次购买,他带了 did_idi​枚 i 种硬币,想购买 s 的价值的东西。请问…

.net core百万设备连接服务和硬件需求测试

随着物联网的普及,服务应用将面对大量物联设备处理;早期.NET在通讯上的处理能力一直给人的印像并不怎样,但net core经历过大量的优化后在各个模块的处理性能都有着比较出色的提升,针对网络方向的处理模块也有着显著的提升。以下主…

字符串匹配(多模式匹配篇)

字符串匹配(多模式匹配篇)摘要:问题的提出:众所周知,KMP算法在O(n)的时间中solve单模式串匹配问题。但怎样solve多模式串匹配问题呢?Solve:本文用简要记叙了使用trie树&a…

.net core编写转发服务

我有个小伙伴问我,他需要写一个转发服务的他有很多功能要通过他的服务转发~技术栈又不一定asp.net core,我就想起泥水老前辈的BeetleX.FastHttpApi中午午休,折腾了一会儿前辈,问清楚了FastHttpApi如何配置控制器依赖注入和控制器的…

数据结构(终极线段树篇)

数据结构(终极线段树篇) 摘要: 问题的提出:如何解决多样化的区间操作问题? solve:线段树!!! 关键字: 线段树,可持久化线段树,权值线段…

.NET Core 3.0之深入源码理解Configuration(一)

微软在.NET Core里设计出了全新的配置体系,并以非常灵活、可扩展的方式实现。从其源码来看,其运行机制大致是,根据其Source,创建一个Builder实例,并会向其添加Provider,在我们使用配置信息的时候&#xff0…

摊还分析

摊还分析 1何为摊还分析? 摊还分析主要求解数据结构维护序列执行的所有操作的平均时间,来评价操作的代价,从而保证最坏情况下每个操作的平均性能。 2聚合分析 2.1何为聚合分析? 若长度为n的操作序列最坏情况下所花费时间为T(…

Bigraph Extension

Bigraph Extension 题意: 有2n个点,n为偶数,n个点属于集合A,n个点属于集合B。起初在途中有m个无向边,边的两侧端点分别在两个集合里,任何两个边都没有公共交点。 现在你可以执行任意次操作: 在…

微服务划分的姿势

我们知道微服务是一种理念,没有确切的定义和边界,好比设计原则,是属于抽象的概念。在定义不明确的情况下谈划分也是一种各说各话,具体问题需要具体分析,所以这篇文章谈到的划分也不是绝对标准,仅供参考。有…

点(树)分治

0.引言 对于树上问题&#xff0c;有许多特殊的求解方法&#xff0c;如&#xff1a;树链剖分。点分治算法也是其中之一&#xff0c;常用于解决树上路径问题。 1.0.问题的引入 给定一棵树&#xff0c;求这棵树的直径&#xff08;树上最长链长度&#xff0c;n<10^5&#xff…

斜率优化Convex Hull Trick

斜率优化 一、简单DP 首先从一道简单题引入。 [IOI2002]任务安排 Description N个任务排成一个序列在一台机器上等待完成&#xff08;顺序不得改变&#xff09;&#xff0c;这N个任务被分成若干批&#xff0c;每批包含相邻的若干任务。从时刻0开始&#xff0c;这些任务被分…

分布式部署携程Apollo构建配置中心

一、开场白在系统设计里我们有很多配置希望独立于系统之外&#xff0c;而又能够被系统实时读取。但是在传统的系统设计里&#xff0c;配置信息通常是耦合在系统内的&#xff0c;比如.net里通常会放在App.config或者web.config里&#xff0c;.net core则是appsettings.json里&am…