k8s的认证和service account简述
k8s的认证:
与API server通信的客户端大致有两类:
1.集群客户端工具(kubectl、kubeadm、kubelet等)
2.集群内pod.
任何客户端访问k8s时的过程:
1.认证:任何客户端访问k8s,首先需要通过k8s的认证;认证通过是说明所用账号只是k8s的合法用户;
2.授权:认证通过后,是否具有对k8s集群中资源的操作,需要k8s对其进行授权检查;
3.准入控制:授权检查通过后,并不能说明你的操作都在我们指定的操作范围内;进一步补充授权。
认证:k8s中常见的认证方式有:token令牌认证和SSL认证。
授权:k8s中常见的授权方式有:Node、ABAC(Attribute Base Access Control基于属性的访问控制)、RBAC(Role Base Access Control基于角色的访问控制)
k8s是高度模块化设计的,认证、授权、准入控制等,都通过插件方式部署,可由用户自定义选择经由什么样的插件来完成何种控制逻辑。
每个名称空间下都会有一个默认的token,该名称空间下的pod使用默认使用这个token来与API Servre通信。
kubeadm初始化后生成的客户端证书和私钥在:.kube/config
k8s的kubectl等客户端工具对集群操作时,命令被转化为一个http协议的请求:
如:若想访问default名称空间下的deployment控制器生成的nignx pod时的URL路径为:
http://node_ip:node_port/apis/apps/v1/namespaces/default/deployments/nginx
service account(sa):
kubernetes集群有两类认证时的账号:
user account(管理者、访问者)、service account(pod)。
创建一个sa:
1 kubectl create serviceaccount SA_NAME
若要对单独或一组pod使用单独token来实现权限的提升或者降级,需要单独创建pod账户(Service account)。
service account简写sa,创建一个sa的同时,系统会自动给这个sa生成一个token,用于使创建的sa连接API Server 。
查看某个pod使用的sa:kubectl describe pods POD_NAME 在输出的结果中寻找volumes段的SecretName。
pod若要使用某个自定义sa时,须在创建Pod时,在pod的资源清单中添加SA_NAME(spec.serviceAccountName:SA_NAME)。
例:k8s创建pod时,需要docker在镜像仓库中拉取镜像,若是私有镜像仓库,则需要提供账户及密钥,此时的解决方法有两种:
1.直接在定义pod时定义imagePullSecret。(较不安全)
2.创建单独的账户(sa),在sa中定义imagePullSecret,然后在创建pod时定义serviceAccountName为此sa名称。
转载于:https://www.cnblogs.com/Smbands/p/10900593.html
k8s的认证和service account简述相关推荐
- K8s认证机制、kubeconfig及配置、Service Account,K8s鉴权体系、RBAC及配置案例、Ingress工作机制,Ingress配置方式及金丝雀发布案例、Helm及常见用法
添加两个以上静态令牌认证的用户,例如 tom 和 jerry,并认证到 Kubernetes 上: #生成token root@k8s-master01:~# echo "$(openssl ...
- k8s之 service account token
在前一篇笔记中我们验证了使用sa的token作为一种认证,向apiserver发送请求,这里简述下它的认证原理和流程. 首先得知道这种token称为JWT(json web token),可以参考官网 ...
- Google Analytics Service account 认证指南
GA官方文档:https://developers.google.com/analytics/devguides/reporting/core/v4/authorization Service acc ...
- kubernetes的Service Account
kubernetes的Service Account Service account作用 Service account是为了方便Pod里面的进程调用Kubernetes API或其他外部服务. Se ...
- kubernetes的Service Account和secret关系
https://blog.csdn.net/ccy19910925/article/details/80610336 Service Account Service Account概念的引入是基于这样 ...
- [置顶]kubernetes资源类型--secret和Service Account
secret 概念 secret对象类型主要目的是保存和处理敏感信息/私密数据,比如密码,OAuth tokens,ssh keys等信息.将这些信息放在secret对象中比 直接放在pod或dock ...
- kubernetes资源类型--secret和Service Account
secret 概念 secret对象类型主要目的是保存和处理敏感信息/私密数据,比如密码,OAuth tokens,ssh keys等信息.将这些信息放在secret对象中比 直接放在pod或dock ...
- 在Kubernetes Pod中使用Service Account访问API Server
2019独角兽企业重金招聘Python工程师标准>>> 在Kubernetes Pod中使用Service Account访问API Server 博客分类: Kubernetes ...
- kubernetes的Service Account和secret
Service Account Service Account概念的引入是基于这样的使用场景:运行在pod里的进程需要调用Kubernetes API以及非Kubernetes API的其它服务.Se ...
最新文章
- multiple Rational objects
- C++ 播放音频流(PCM裸流)
- pthread_create函数编译时报错:undefined reference to 'pthread_create'
- 项目已被os x使用 不能打开-黑苹果之路
- 大数据之-Hadoop3.x_MapReduce_自定义分区案例---大数据之hadoop3.x工作笔记0112
- 谈谈JavaScript中的function constructor和new关键字
- python中sklearn库更新_python库之sklearn
- A2DP和AVRCP蓝牙音频传输协议
- 魔鬼定律:你一偷懒,必然出错,麒麟LINUX新版本无法安装
- 广域网宽带接入技术九ADSL技术
- 图解图库JanusGraph系列-janusgraph图数据库的本地源码编译教程(janusgraph source code compile)
- 寒门再难出贵子(好好看一下,有很大收货的)
- 干货 | 互联网平台资金结算的合规处理方案
- Logistic Regression - IBM 员工离职预测
- Java做彩虹进度条,Android自定义控件-彩虹条进度条
- 浙江宁波天童禅寺重阳节前夕慰问鄞州区东吴福利院
- 鼠标手是否算工伤 专家:法定职业病才能获赔
- ActiveMQ学习 (一) JSM基本概念
- 海纳百川 有容乃大, 壁立千仞 无欲则刚
- 中国工业转向架炉膛市场深度研究分析报告
热门文章
- php怎么获取用户所在地址,php获取客户端ip及获取ip所在地址
- 使用pycharm配置flask项目,并使用git进行版本控制
- 【51单片机快速入门指南】4.4:I2C 读取HMC5883L / QMC5883L 磁力计
- onvif概念及应用?
- JAVA进阶day02
- 前端学习(3069):vue+element今日头条管理-loding处理
- [html] 如果一个标签元素同时出现两个class属性,两个class都会生效吗?为什么?
- PS教程第二十三课:套索工具
- [软技能] 请说说使用iconfont图标的优点和缺点
- 工作371-javascript判断数组为空