k8s sa

news/2024/9/19 0:46:25/ 标签: kubernetes, 容器, 云原生

在Kubernetes(K8S)中,SA是Service Account(服务账户)的简称。Service Account是Kubernetes集群中的一种资源对象,用于识别和验证Pod访问集群中其他资源的身份。以下是关于K8S SA的详细解释:
一、Service Account的基本概念

  • 身份认证与授权:Service Account用于Pod与Kubernetes API Server之间的通信身份认证,并为Pod提供访问集群资源的权限。
  • 自动创建与挂载:每个Pod在创建时都会自动分配一个默认的Service Account,该Service Account对应的Secret(包含Token、CA证书和Namespace信息)会自动挂载到Pod的/var/run/secrets/kubernetes.io/serviceaccount路径下。
    灵活性与安全性:通过为Pod分配不同的Service Account,可以实现细粒度的权限控制,提高集群的安全性。

二、Service Account的作用

  • 身份验证:Service Account为Pod提供了一种与Kubernetes API Server通信的身份证明,确保只有经过认证的Pod才能访问集群资源。
  • 权限控制:通过RBAC(Role-Based Access Control,基于角色的访问控制)机制,可以将Service Account绑定到特定的Role或ClusterRole上,从而控制Pod对集群资源的访问权限。
  • 资源访问:Pod可以使用其Service Account的Token来访问Kubernetes集群中的其他资源,如Pod、Service、ConfigMap等。

三、Service Account的创建与管理

  • 创建Service Account:可以使用Kubernetes的YAML配置文件来创建Service Account,并通过kubectl apply -f命令将其部署到集群中。
  • 绑定Role或ClusterRole:创建Service Account后,需要将其绑定到相应的Role或ClusterRole上,以赋予Pod对集群资源的访问权限。
  • 查看Service Account信息:可以使用kubectl describe sa 命令来查看Service Account的详细信息,包括其关联的Secret和Token等。

四、示例

以下是一个创建Service Account并将其绑定到Role的示例:

# 创建Service Account  
apiVersion: v1  
kind: ServiceAccount  
metadata:  name: my-service-account  namespace: default  
---
# 创建Role  
apiVersion: rbac.authorization.k8s.io/v1  
kind: Role  
metadata:  name: my-role  namespace: default  
rules:  
- apiGroups: [""]  resources: ["pods"]  verbs: ["get", "list", "watch"]  
---
# 创建RoleBinding  
apiVersion: rbac.authorization.k8s.io/v1  
kind: RoleBinding  
metadata:  name: my-role-binding  namespace: default  
roleRef:  apiGroup: rbac.authorization.k8s.io  kind: Role  name: my-role  
subjects:  
- kind: ServiceAccount  name: my-service-account  namespace: default

在这个示例中,我们创建了一个名为my-service-account的Service Account,一个名为my-role的Role(允许对Pods进行get、list、watch操作),以及一个名为my-role-binding的RoleBinding(将my-service-account绑定到my-role上)。这样,任何使用my-service-account的Pod都将能够访问集群中的Pods资源。
五、总结

K8S SA(Service Account)是Kubernetes集群中用于身份认证和授权的重要机制,通过为Pod分配不同的Service Account并绑定相应的Role或ClusterRole,可以实现细粒度的权限控制,提高集群的安全性和灵活性。


http://www.ppmy.cn/news/1519365.html

相关文章

JavaScript中将style的String类型转换成Object类型

在React开发中,我们或许经常遇到要将font-size:20px;转换成对象类型{fontSize:"20px"},如下我自己写了个类,正则匹配-后面的第一个字为大写字母,并且去掉-,然后将:后的属性转换为字符串类型,代码如下 function styleSt…

GitLab 是什么?GitLab使用常见问题解答

GitLab 是什么 GitLab是由GitLab Inc.开发,使用MIT许可证的基于网络的Git仓库管理工具开源项目,且具有wiki和issue跟踪功能,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 ​GitLab 是由 GitLab Inc.开发&#xff0c…

k3s安装部署说明

前言: 为什么不是k8s,k8s机子要求资源太高了,先来个简单的k3s 1:环境 ubuntu18 2安装docker ubuntu18.0.4 如下 1:禁用防火墙及SELinux(可能需要禁止) systemctl stop firewalld && systemctl disable firewalld 2: 开启路由转发 sudo vim /e…

微信小程序:自定义扫码功能

我们今天主要是介绍小程序自定义扫码的应用&#xff0c;相关业务处理可以根据自己需求来填补 WXML&#xff1a; <view class"scan-box direction-column" wx:if"{{ showCanScan }}"><camera class"camera" resolution"high"…

摄像头的ISP和SOC的GPU有区别吗?

摄像头的主芯片必须包含ISP&#xff0c;也就是图像处理器核心。而SOC的GPU或者说显卡也包含图像处理器也就是GPU。两者并无本质区别&#xff0c;都是实现数字图像处理算法。同样的用FPGA做内窥镜图像处理和用FPGA做显示图像处理器本质上也是一样的。 当然两者存在一些细微差别…

【BLE】四.SMP安全配对详解

设备配对流程 SMP专业术语 Paring&#xff08;配对&#xff09;&#xff1a; 配对能力交换&#xff0c;设备认证&#xff0c;密钥生成&#xff0c;连接加密以及机密信息分发等 过程 Bonding&#xff08;绑定&#xff09; 配对中会生成一个长期密钥&#xff08;LTK&#xff0c;…

灾难性遗忘问题(Catastrophic Forgetting,CF)是什么?

灾难性遗忘问题&#xff08;Catastrophic Forgetting&#xff0c;CF&#xff09;是什么&#xff1f; 在深度学习和人工智能领域中&#xff0c;“灾难性遗忘”&#xff08;Catastrophic Forgetting&#xff09;是指当神经网络在增量学习&#xff08;Incremental Learning&#…

使用 Milvus Lite、Llama3 和 LlamaIndex 搭建 RAG 应用

大语言模型&#xff08;LLM&#xff09;已经展示出与人类交互并生成文本响应的卓越能力。这些模型可以执行各种自然语言任务&#xff0c;如翻译、概括、代码生成和信息检索等。 为完成这些任务&#xff0c;LLM 需要基于海量数据进行预训练。在这个过程中&#xff0c;LLM 基于给…

ComfyUI:基于差分扩散的像素级图像修改

在几个月的沉寂之后&#xff0c;差分扩散&#xff08;Differential Diffusion&#xff09;被引入了。 玩了几天之后&#xff0c;我仍然对结果感到震惊。 这种新的先进方法允许以像素为基础进行更改&#xff0c;而不是以整个区域为基础进行更改。 另一种可能更通俗的说法&…

Git 基础使用--权限管理--用户和用户组授权

&#x1f600;前言 本篇博文是关于Git 基础使用–权限管理–用户和用户组授权&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满…

SparkSQL缓存的用法

前言 SparkSQL关于缓存的操作语句官方给了三种: CACHE TABLE(缓存表)UNCACHE TABLE(清除指定缓存表)CLEAR CACHE(清除所有缓存表)下面我们详细讲解这些语句的使用方法。 CACHE TABLE CACHE TABLE 语句使用给定的存储级别缓存表的内容或查询的输出。如果一个查询被缓存…

部署Rancher2.9管理K8S1.26集群

文章目录 一、实验须知1、Rancher简介2、当前实验环境 二、部署Rancher1、服务器初始化操作2、部署Rancher3、登入Rancher平台 三、Rancher对接K8S集群四、通过Rancher仪表盘部署Nginx服务1、创建命名空间2、创建Deployment3、创建Service 一、实验须知 1、Rancher简介 中文官…

Redis KEY操作实战手册:从设计到维护的全面指南

​ &#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 ✨欢迎加入探索Redis的key的相关操作之旅✨ &#x1f44b; 大家好&#xff01;文本…

spring入门(一)spring简介

一、spring简介 Spring技术是JavaEE开发必备技能&#xff0c;企业开发技术选型命中率>90% spring能够简化开发&#xff0c;降低企业级开发的复杂性。框架整合&#xff0c;高效整合其他技术&#xff0c;提高企业级应用开发与运行效率。 主要学习&…

《计算机操作系统》(第4版)第12章 保护和安全 复习笔记

第12章 保护和安全 一、安全环境 1.实现“安全环境”的主要目标和面临的威胁 实现“安全环境”的主要目标和威胁如表12-1所示。 目标 威胁 数据机密性 对应的威胁为有人通过各种方式窃取系统中的机密信息使数据暴露 数据完整性 对应的威胁为攻击者擅自修改系统中所保存的数…

metallb-speaker缓存

手动修改metallb-config arping返回2个mac地址 删除pod mac正常返回 pkill 进程 返回2个mac

SQL进阶技巧:用户不同 WiFi 行为区间划分分析 | 断点分组问题

目录 0 场景描述 1 数据准备 2 问题分析 3 小结 0 场景描述 现有用户扫描或连接 WiFi 记录表 user_wifi_log ,每一行数据表示某时刻用户扫描或连接 WiFi 的日志。 现需要进行用户行为分析,如何划分用户不同 WiFi 行为区间?满足: 1)行为类型分为两种:连接(scan)、…

OceanbaseV4模拟题解析

使用 Docker 部署的 OceanBase 可以作为MetaDB&#xff0c;供OceanBase相关产品作为元数据数据库来使用。以下哪类产品需要MetaDB?&#xff08;AD&#xff09; ​ A OCP ​ B OBProxy ​ C OAT ​ D OMS MetaDB&#xff1a;基于容器部署的 OceanBase 数据库服务&#xff0c;可…

SpringBoot 集成JprotoBuf实现protobuf类型的接口

文章目录 前言一、实现protobuf类型的接口1. 编写 Controller2. 模拟客户端发起请求3. Postman中发起请求二、教程源码获取前言 这篇文章我们讲解了protoBuf和JprotoBuf的区别,并实现SpringBoot集成JprotoBuf:SpringBoot JprotoBuf序列化与反序列化的实现 本文将基于以上文…

大模型参数高效微调技术原理综述(三)-Prefix Tuning

Prefix Tuning是LLM微调技术中另一个重要的技术分支&#xff0c;于2021年由Stanford提出。 本文通过解读论文**《Prefix-Tuning: Optimizing Continuous Prompts for Generation》**&#xff0c;与小伙伴们一起学习理解Prefix Tuning思想和方法。 1.Abstract(摘要) 首先我们看…