Kubernetes 账户详解:用户账户与服务账户全解析

Kubernetes 账户详解:用户账户与服务账户全解析

在 Kubernetes(K8s)中,账户是访问集群资源的关键凭据。Kubernetes 的账户体系分为 用户账户(User Account)服务账户(Service Account)。两者的职责和适用场景截然不同:用户账户是给人用的,而服务账户则是给程序用的。今天我们来深挖两种账户的使用场景、配置方法和具体案例。


一、服务账户(Service Account)

服务账户(SA)是 Kubernetes 为 Pod 提供访问 Kubernetes API 的身份凭据。每个命名空间默认会创建一个 default 服务账户,但在实际应用中,通常需要为不同的服务创建独立的服务账户以实现更精细的权限管理。

服务账户的特点

  1. 自动挂载令牌

    • 服务账户令牌会自动挂载到 Pod 的 /var/run/secrets/kubernetes.io/serviceaccount 路径下,Pod 中的应用可以使用该令牌与 Kubernetes API 交互。
  2. 与 RBAC 配合使用

    • 服务账户通过绑定角色(Role 或 ClusterRole)来定义具体可以访问哪些资源及操作范围。
  3. 命名空间隔离

    • 服务账户属于特定命名空间,无法直接访问其他命名空间的资源。

使用场景

  • 监控工具访问集群
    Prometheus 等监控工具通过服务账户获取集群状态信息,例如 Pod、节点的运行状态。

  • 自动化任务执行
    CI/CD 流水线中的任务通过服务账户操作集群,如部署新版本应用。

  • 权限最小化
    不同服务使用独立的服务账户,只分配其所需的最小权限,确保安全性。

服务账户的配置与使用

1. 创建服务账户

配置文件示例:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: custom-sa
  namespace: default

应用配置文件:

kubectl apply -f service-account.yaml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_42587823

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值