10-k8s-身份认证与鉴权

news2025/3/13 17:31:47

文章目录

    • 一、ServiceAccount介绍
    • 二、ServiceAccount相关的资源对象
    • 三、dashboard空间示例

一、ServiceAccount介绍

  1. ServiceAccount(服务账户)概念介绍

    1)ServiceAccount是Kubernetes集群中的一种资源对象,用于为Pod或其他资源提供身份验证和授权,以便它们能够与Kubernetes API进行交互。

    2)Service Account仅局限它所在的namespace,而每个namespace都会自动创建一个default service account。可以在Pod中通过serviceAccountName来指定使用哪个ServiceAccount。

  2. 解决的问题

    1)身份验证: ServiceAccount为Pod提供一个身份,使Pod能够与Kubernetes API进行交互。Kubernetes API会根据ServiceAccount的身份进行授权判断。

    2)权限控制: 通过ServiceAccount,Kubernetes管理员可以对Pod进行权限控制,限制它们能够访问的资源和操作,从而增强集群的安全性。

    3)认证和授权: ServiceAccount使得Pod可以通过自己的身份进行认证和授权,而不是依赖于集群中其他的身份。

二、ServiceAccount相关的资源对象

  1. role(k8s角色):通过RoleBinding绑定相关权限。它是Namespace级别的资源,只能作用于Namespace之内。

  2. ClusterRole(集群角色): ClusterRole定义了一组权限,用于控制对Kubernetes集群级别资源的访问。它是一种权限策略,定义了哪些操作可以被执行。ClusterRole可以被多个命名空间使用。

  3. RoleBinding:Role或 ClusterRole只是用于制定权限集合,具体作用于什么对象上,需要使用 RoleBinding来进行绑定。可以将Role 或 ClusterRole绑定到User、Group、Service Account 上。

    ps:相关指令介绍

    1)查看rolebinding信息:kubectl get rolebinding --all-namespaces

    2)查看指定rolebinding 的配置信息:kubectl get rolebinding <role_binding_name> -n -o yaml

  4. ClusterRoleBinding:RoleBinding用于在单个命名空间内进行权限控制,而ClusterRoleBinding用于在整个集群内进行权限控制。

  5. Secret(秘密): Secret是用于存储敏感信息的资源,如密码、API密钥、证书等。ServiceAccount通常与Secret关联,Kubernetes会自动为每个ServiceAccount创建一个与之关联的Secret,其中包含了ServiceAccount的身份令牌。

  6. Service Account Admission Controller介绍

    通过Admission Controller插件来实现对pod修改,它是apiserver的一部分。创建或更新pod时会同步进行修改pod。当插件处于激活状态(在大多数发行版中都默认情况)创建或修改pod时,会按以下操作执行:

    1)如果pod没有设置ServiceAccount,则将ServiceAccount设置为default。
    2)确保pod 引用的ServiceAccount存在,否则将会拒绝请求。
    3)如果pod不包含任何ImagePullSecrets,则将ServiceAccount 的 lmagePullSecrets会添加到 pod中。
    4)为包含API访问的Token 的 pod添加了一个volume。
    5)把volumeSource添加到安装在pod的每个容器中,挂载在/var/run/secrets/kubernetes.io/serviceaccount。

  7. Service Account Controller介绍

    Service Account Controller在namespaces里管理ServiceAccount,并确保每个有效的 namespaces中都存在一个名为“default”的ServiceAccount。

  8. 其他相关指令介绍

    1)获取所有空间的ServiceAccount:kubectl get sa -A

    2)获取所有空间的ClusterRole: kubectl get clusterrole -A

    3)查看ClusterRole详情: kubectl get clusterrole ingress-nginx -n ingress-nginx -o yaml

三、dashboard空间示例

  1. 查看dashboard的用户列表:kubectl get sa -n kubernetes-dashboard
    在这里插入图片描述

  2. 查看用户secrets 并且获取token

    1)查看secrets : kubectl get secrets -n kubernetes-dashboard
    在这里插入图片描述

    2)获取密钥:kubectl describe secrets default-token-fjzh6 -n kubernetes-dashboard
    在这里插入图片描述

  3. 创建admin用户,并且查看secrets和token

    1)创建访问账号:vi /opt/dash.yaml

    创建用户–》申明角色–》用户和角色绑定

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: admin-user
      namespace: kubernetes-dashboard
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: admin-user
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
    - kind: ServiceAccount
      name: admin-user
      namespace: kubernetes-dashboard
    

    2)应用: kubectl apply -f /opt/dash.yaml

    3)查看dashboard的用户列表:get sa -n kubernetes-dashboard
    在这里插入图片描述
    4)查看secrets: kubectl get secrets -n kubernetes-dashboard
    在这里插入图片描述
    5)获取访问令牌: kubectl describe secrets admin-user-token-d8f7x -n kubernetes-dashboard
    在这里插入图片描述

    6)查看绑定关系: kubectl get ClusterRoleBinding admin-user -n kubernetes-dashboard -o yaml
    在这里插入图片描述

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

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

相关文章

我们要按什么方式对葡萄酒进行分类呢?

葡萄酒分类在许多地区是传统或称谓法的一部分&#xff0c;葡萄园分类历史悠久&#xff0c;可以追溯到14世纪。1644年当时乌兹堡议会按质量对该市的葡萄园进行排名&#xff0c;以及1700年在托卡伊-赫贾根据质量对葡萄园进行早期五级指定。 如果说按年份和品种对葡萄酒进行分类&…

MySQL 查询 唯一约束 对应的字段,列名称合并

MySQL 查询 唯一约束 对应的字段&#xff0c;列名称合并 SELECT F.DbName,F.TableName,F.ConstraintName,GROUP_CONCAT(ColumnName) ColumnName FROM ( SELECT t1.TABLE_SCHEMA DbName, t1.TABLE_NAME TableName,t1.CONSTRAINT_NAME ConstraintName,t2.COLUMN_NAME ColumnNam…

8.13 PowerBI系列之DAX函数专题-商品折上折迭代函数SUMX详解

需求 迭代的意思是就是逐行计算&#xff0c;当前行计算的时候需要依赖上一行的计算结果 实现 1 Amount_sumx 迭代 sumx(//遇到手套和帽子就不计算销售额 order_2,//逐行计算的是订单表 var current_type order_2[产品子类别] //中间计算过程&#xff0c;计算某个参数也可…

java注释

1.什么是注释 注释是写在程序中对代码进行解释说明的文字&#xff0c;方便自己和其他人查看&#xff0c;以便理解程序员的代码意思。&#xff08;写在程序中对程序进行解释说明的文字&#xff09; 2.注释类型 2.1单行注释&#xff1a;// 2.2多行注释&#xff1a;/**/ 2.3文档…

如何选择最适合你的LLM优化方法:全面微调、PEFT、提示工程和RAG对比分析

一、前言 自从ChatGPT问世以来&#xff0c;全球各地的企业都迫切希望利用大型语言模型&#xff08;LLMs&#xff09;来提升他们的产品和运营。虽然LLMs具有巨大的潜力&#xff0c;但存在一个问题&#xff1a;即使是最强大的预训练LLM也可能无法直接满足你的特定需求。其原因如…

【小尘送书-第八期】《小团队管理:如何轻松带出1+1>2的团队》

大家好&#xff0c;我是小尘&#xff0c;欢迎你的关注&#xff01;大家可以一起交流学习&#xff01;欢迎大家在CSDN后台私信我&#xff01;一起讨论学习&#xff0c;讨论如何找到满意的工作&#xff01; &#x1f468;‍&#x1f4bb;博主主页&#xff1a;小尘要自信 &#x1…

C#进阶——反射(Reflection)

定义&#xff1a;反射指的是在运行时动态地获取、检查和操作程序中的类型信息&#xff0c;而在我们的Unity中反射允许开发者在运行时通过代码来访问和修改对象的属性、方法和字段&#xff0c;而不需要提前知道这些成员的具体信息。 举一个例子&#xff0c;我们使用反射在运行的…

linux下的rsync(文件同步) 用法教程

一、简介 rsync 是一个常用的 Linux 应用程序&#xff0c;用于文件同步。 它可以在本地计算机与远程计算机之间&#xff0c;或者两个本地目录之间同步文件&#xff08;但不支持两台远程计算机之间的同步&#xff09;。它也可以当作文件复制工具&#xff0c;替代cp和mv命令。 …

ERP系统是如何运作的?erp管理系统操作流程

ERP系统是如何运作的&#xff1f;ERP系统的运作流程是怎样的&#xff1f; 以简道云ERP管理系统为例&#xff1a; 各行各业适配的ERP系统​>>>>https://www.jiandaoyun.com 可以看到上面那个流程图&#xff0c;一般来说&#xff0c;我们把ERP系统可以分为4个大的模…

极光笔记 | 发送功能使用技巧分享

在全球化竞争激烈的商业环境中&#xff0c;高效的消息通知解决方案是企业成功的关键。EngageLab作为一家专注于海外市场的消息服务平台&#xff0c;为全球企业提供了一体化的消息通知解决方案。其中&#xff0c;EngageLab的国际邮件发送是其强大而灵活的产品服务之一。本文将与…

一文了解如何获取GPT4账号及AI绘图应用

GPT对于每个科研人员已经成为不可或缺的辅助工具&#xff0c;不同的研究领域和项目具有不同的需求。例如在科研编程、绘图领域&#xff1a; 1、编程建议和示例代码: 无论你使用的编程语言是Python、R、MATLAB还是其他语言&#xff0c;都可以为你提供相关的代码示例。 2、数据可…

生态艺术共创助力长江旗舰物种保护

为助力青少年获得长江旗舰物种科普支持&#xff0c;近日&#xff0c;传益千里组织100余位志愿者在重庆市渝中区大坪大融城开展“我为长江画条鱼”主题公益活动&#xff0c;以实际行动传播长江旗舰保护物种。 本次活动由大坪大融城主办&#xff0c;阿拉善SEE重庆项目中心指导&am…

死磕AI原生应用,李彦宏重新定义大模型

“没有构建于基础模型之上的丰富的AI原生应用&#xff0c;基础模型就没有任何价值。”、“未来将由我们一起生成。”。10月17日&#xff0c;在一年一度的2023年百度世界大会上创始人、董事长兼首席执行官李彦宏重新定义了大模型的未来——“我们都将进入AI原生的时代&#xff0…

【Machine Learning】01-Supervised learning

01-Supervised learning 1. 机器学习入门1.1 What is Machine Learning?1.2 Supervised learning1.3 Unsupervised learning 2. Supervised learning2.1 单元线性回归模型2.1.1 Linear Regression Model&#xff08;线性回归模型&#xff09;2.1.2 Cost Function&#xff08;代…

Spring(18) @Order注解介绍、使用、底层原理

目录 一、简介二、List 注入使用示例2.1 测试接口类2.2 测试接口实现类12.3 测试接口实现类22.4 启动类&#xff08;测试&#xff09;2.5 测试结果场景一&#xff1a;场景二&#xff1a; 三、CommandLineRunner 使用示例3.1 接口实现类13.2 接口实现类23.3 测试结果场景一&…

css 双栏布局 左侧宽度自适应 右侧自适应

如标题所述&#xff0c;为了实现左侧宽度自适应&#xff0c;右侧使用剩余空间。 第一种方案&#xff1a;使用table实现 <table classNamewrap><tbody><tr><td className"left1">leftleft</td><td className"right1">…

竞赛 深度学习YOLO安检管制物品识别与检测 - python opencv

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络4 Yolov55 模型训练6 实现效果7 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习YOLO安检管制误判识别与检测 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&…

排序算法可视化

前言 这两天在B站上刷到一个视频&#xff0c;用python把各种排序动画可视化显示了出来觉得还蛮好玩的&#xff0c;当即就决定用Flutter写一个玩玩&#xff0c;顺便复习一下排序算法&#xff0c;话不多说&#xff0c;进入正文~ 效果图&#xff1a; 该效果图为鸡尾酒排序(双向冒…

【Machine Learning】03-Unsupervised learning

03-Unsupervised learning 3. Unsupervised Learning3.1 无监督学习&#xff08;Unsupervised Learning&#xff09;3.1.1 聚类&#xff08;Clustering&#xff09;3.1.2 K-均值聚类算法&#xff08;K-means Clustering&#xff09;3.1.3 高斯分布&#xff08;Gaussian distrib…