首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏开源部署

    kubernetes集群配置serviceaccount

    Kubernetes提供了Secret来处理敏感信息,目前Secret的类型有3种:  Opaque(default): 任意字符串  kubernetes.io/service-account-token: 作用于ServiceAccount 本文将介绍在kubernetes集群中配置serviceaccount和secret,可以让kubernetes使用私有仓库,并支持nginx basic认证。 10.254.0.0/16" KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,ServiceAccount

    63540编辑于 2022-07-13
  • 来自专栏3分钟云计算

    权限认证之ServiceAccount

    为了解决此问题,Kubernetes 引入了ServiceAccount(SA)的概念。我们以OpenShift为例。 ", "email":"serviceaccount@example.org", "auth":"c2VydmljZWFjY291bnQ6ZXlKaGJHY2lPaUpTVX ", "email":"serviceaccount@example.org", "auth":"c2VydmljZWFjY291bnQ...“ }, " ", "email":"serviceaccount@example.org", "auth":"c2VydmljZWFjY291bnQ6ZX..." } } 可以看到 serviceAccount: default serviceAccountName: default terminationGracePeriodSeconds: 30 tolerations

    48010编辑于 2022-06-13
  • 来自专栏Liusy01

    k8s之ServiceAccount

    导读 上一篇说了k8s的RBAC授权模式,今天就来简单看一下其中涉及到的ServiceAccount。 其中ServiceAccount Controller一直监听Service Account和Namespace的事件,如果在一个Namespace中没有default Service Account, (3)如果在Pod中没有指定ImagePullSecrets,那么这个spec.serviceAccount域指定的Service Account的ImagePullSecrets会自动加入到该Pod中 /kubernetes.io/serviceaccount)。 ServiceAccount ServiceAccount是一种账号,给运行在Pod里面的进程提供必要的身份证明。

    2.3K30发布于 2020-11-19
  • 来自专栏devops_k8s

    KubernetesRBAC认证及ServiceAccount、Dashboard

    ServiceAccount主要负责kubernetes内置用户,下面简单定义一个ServiceAccount apiVersion: v1 kind: ServiceAccount metadata 快速创建一个yaml框架 kubectl create serviceaccount mysa -o yaml --dry-run > serviceaccount.yaml kubectl get pods nginx-deployment-5dcb7cf7db-mjlsq -o yaml --export 创建ServiceAccount kubectl create serviceaccount token: 创建ServiceAccount,根据其管理目标,使用rolebinding或clusterrolebinding绑定至合理role或clusterrole; 获取此ServiceAccount 的secret,查看secret的详细信息,其中就有token; config: (把ServiceAccount的token封装为kubeconfig文件) 1.

    1.5K70发布于 2020-09-27
  • 来自专栏运维小路

    Kubernetes(k8s)-RBAC服务账户(ServiceAccount)介绍&应用

    系统会为每个命名空间创建一个默认的default的ServiceAccount,这个ServiceAccount会自动关联到一个Secret,通过Sceret提供的token信息连接到kube-apisever 这个ServiceAccount具有kubernetes最低权限。 ,使这个ServiceAccount具有了刚刚我们在角色里面定义的权限,这样我们就实现ServiceAccount,Role,和RoleBinding闭环。 Role提供对应的权限,RoleBinding把这个权限绑定到了服务账服ServiceAccount,这样只要使用ServiceAccount这个服务账号就具有定义好的权限。 ServiceAccount的Pod也是具有命名空间属性的。

    86100编辑于 2025-02-19
  • 来自专栏chester技术分享

    K8S原来如此简单(八)ServiceAccount与RBAC

    ServiceAccountServiceAccount是给运行在Pod的程序使用的身份认证,Pod容器的进程需要访问API Server时用的就是ServiceAccount账户。 ServiceAccount仅局限它所在的namespace,每个namespace创建时都会自动创建一个default service account。 通过以下命令可以查看我们前面创建chesterns这个namespace下的serviceaccount与对应的secretkubectl describe pod -n chesternskubectl describe sa -n chesternskubectl describe secrets -n chesterns通过以下命令查看serviceaccount挂载进容器内部的文件kubectl exec -it chesterdeployment-cb855fb4b-5ksgd -n chesterns -- ls /var/run/secrets/kubernetes.io/serviceaccount

    77940编辑于 2022-08-18
  • 来自专栏云原生工具箱

    【每日一个云原生小技巧 #66】ServiceAccount 技巧

    什么是 ServiceAccount? 在 Kubernetes 中,ServiceAccount 提供了一种将 API 凭据(如密钥)自动挂载到 pod 中的方式。 避免默认 ServiceAccount:避免使用默认的 ServiceAccount,因为它可能具有比所需更宽松的权限。 我们将创建一个 ServiceAccount,并给它适当的权限。 创建 ServiceAccount: apiVersion: v1 kind: ServiceAccount metadata: name: my-serviceaccount 创建角色和角色绑定 将该角色绑定到我们的 ServiceAccount

    35510编辑于 2024-01-19
  • 来自专栏腾讯云容器服务团队的专栏

    一次ServiceAccount导致的apiserver雪崩案例分析

    通过查看K8s源码发现,在客户端通过ServiceAccount认证方式请求kubelet时,kubelet会通过创建TokenReview的方式(webhook方式)请求apiserver进行鉴权,TokenReview 创建时,会调用kube-apiserver内置的Authenticator进行认证,如果是Token认证,则依次校验basic auth, bearertoken,ServiceAccount token ,bootstrap token等(顺序可参考BuildAuthenticator函数的构建流程),其中,ServiceAccount token的Authenticator会从ServiceAccountTokenGetter 换个思路看下,如果把使用该ServiceAccount请求kubelet的源头揪出来,是不是也能解决这个问题呢? 排查审计日志发现,请求的用户基本是同一个ServiceAccount,system:serviceaccount:metrics-server。

    1.3K20发布于 2021-07-06
  • 来自专栏wxilejun的专栏

    kubernetes之基于ServiceAccount拉取私有镜像 (转载非原创)

    转载地址: https://www.cnblogs.com/xunweidezui/p/16664432.html前面可以通过ImagPullPolicy和ImageullSecrets指定下载镜像的策略,ServiceAccount 不设置任何策略,测试是否能拉取私有仓库镜像此处不配置任何镜像拉取策略,测试是否能拉取私有仓库镜像;root@ks-master01-10:~# cat pod-serviceaccount-secret.yaml root@ks-master01-10:~# cat serviceaccount-imagepullsecret.yaml apiVersion: v1kind: ServiceAccountmetadata serviceaccount/imagepull-aliyun-sa created2.5查看SAroot@ks-master01-10:~# kubectl get sa imagepull-aliyun-sa apiVersion: v1kind: Podmetadata: name: stree-serviceaccount spec: serviceAccount: imagepull-aliyun-sa

    44210编辑于 2022-09-15
  • 来自专栏监控

    关于ServiceAccount以及在集群内访问K8S API

    ServiceAccount对象。 如果在一个命名空间中删除了ServiceAccount对象,控制平面会自动替换为一个新的ServiceAccount对象。 这是因为ServiceAccount是用于身份验证和授权的一种机制,每个Pod都需要与一个ServiceAccount关联,以确定Pod在集群中的身份和权限。 如果没有显式地指定Pod要使用的ServiceAccount,Kubernetes会自动将命名空间的默认ServiceAccount分配给该Pod。 为Pod配置ServiceAccount的步骤很简单,下面仅给出步骤,如下: 创建ServiceAccount 创建Role:定义所需的权限 创建RoleBinding,将ServiceAccount

    84120编辑于 2023-05-26
  • 来自专栏后端开发

    让 RBAC Forbidden 现形:一次 CoreDNS 因 ServiceAccount 授权不全导致的生产故障复盘

    最终的罪魁祸首,指向了 RBAC Forbidden —— kube-system 里的 coredns ServiceAccount 在升级后权限被落下了一截。 /tools/cache/reflector.go:169: failed to list \*v1.Service: services is forbidden: User `system:serviceaccount 用 kubectl auth can-i 直击权限矩阵kubectl auth can-i --as=system:serviceaccount:kube-system:coredns-coredns name: coredns-coredns namespace: kube-system如果你的环境中 CoreDNS 的 ServiceAccount 与上面命名不同,请相应替换。 /usr/bin/env bashset -euo pipefailSA="system:serviceaccount:kube-system:coredns-coredns"RES=( "list

    36710编辑于 2025-09-23
  • 来自专栏用户1976747的专栏

    一文读懂k8s RBAC权限控制

    主体(User/ServiceAccount)与角色关联,角色与资源权限关联。 (k8s可创建并维护) (其中ServiceAccount默认也是一种用户。 作为User使用时名称为 system:serviceaccount:<ServiceAccountName>,所属用户组为 system:serviceaccount:<NamespaceName> 以serviceaccount custom为例,来看下 User 和 ServiceAccount两种绑定方式 # User类型绑定 apiVersion: rbac.authorization.k8s.io 里 4) 创建未声明serviceAccount的pod,准入控制插件(ServiceAccount)检测到,修改pod挂载信息注入ServiceAccount 访问样例 [root@ ~]# curl

    2.5K32发布于 2021-11-02
  • 来自专栏JetpropelledSnake

    Prometheus学习笔记之微服务kube-state-metrics报错

    kube-state-metrics/pkg/collectors/builder.go:508: Failed to list *v1.Secret: secrets is forbidden: User "system:serviceaccount Failed to list *v1beta1.PodDisruptionBudget: poddisruptionbudgets.policy is forbidden: User "system:serviceaccount /pkg/collectors/builder.go:508: Failed to list *v1.ConfigMap: configmaps is forbidden: User "system:serviceaccount /pkg/collectors/builder.go:508: Failed to list *v1.Namespace: namespaces is forbidden: User "system:serviceaccount Failed to list *v1beta1.PodDisruptionBudget: poddisruptionbudgets.policy is forbidden: User "system:serviceaccount

    2.3K30发布于 2021-09-01
  • 来自专栏golang云原生new

    k8s 认证和权限控制

    相当重要,之前我们说到过访问 pod 元数据的时候,就提到过 ServiceAccount,以及相应的挂载文件: /var/run/secrets/kubernetes.io/serviceaccount /token /var/run/secrets/kubernetes.io/serviceaccount/namespace /var/run/secrets/kubernetes.io/serviceaccount 一个 pod 只能关联 一个 ServiceAccount 再来看看这个: 绝对不会存在 ns 4 的 pod ,会关联到 ns 3 的 ServiceAccount, 不在同一个命名空间,根本无法操作 ", "kubernetes.io/serviceaccount/namespace": "default", "kubernetes.io/serviceaccount/secret.name": "xmt-token-kbv8b", "kubernetes.io/serviceaccount/service-account.name": "xmt", "kubernetes.io/serviceaccount

    38120编辑于 2023-09-01
  • 来自专栏技术那些事

    Kubernetes RBAC 深入解析:权限体系详解、配置与排查

    name: dev-sa # 绑定的 ServiceAccount 名称 namespace: test # ServiceAccount 所在命名空间kubectl 的权限说明5.1 默认权限行为RBAC 启用时:默认情况下,default ServiceAccount 无任何权限,除非显式绑定角色。 5.4 安全注意事项最小权限原则:即使使用 default ServiceAccount,也必须绑定最小必要权限。 /var/run/secrets/kubernetes.io/serviceaccount/token)。 如果 Pod 被入侵,攻击者可能通过挂载的 Token 以 ServiceAccount 的身份访问 Kubernetes API。若 ServiceAccount 权限过高,会导致集群安全风险。

    77220编辑于 2025-11-14
  • 来自专栏山河已无恙

    K8s :通过 kubectl 插件 rakkess 查看集群 RBAC授权信息

    kubernetes-dashboard ✔ ✔ ✔ ✔ generic-garbage-collector ServiceAccount kube-system ✔ ✖ ✔ ✔ horizontal-pod-autoscaler ServiceAccount kube-system ✔ ✖ ✖ ✖ ingress-nginx ServiceAccount ✔ ✖ ✖ ✖ ingress-nginx ServiceAccount ingress-nginx ✖ ✔ ✔ ✔ kuboard-user ServiceAccount kube-system ✔ ✔

    30210编辑于 2024-03-25
  • 来自专栏开源部署

    Kubernetes API服务器的安全防护

    system:serviceaccount组:包含 所有在系统中的serviceaccount。    system:serviceaccount:<namespace>组:包含了所有在特定命名空间中的serviceAccountserviceaccount的用户名格式如下:   system:serviceaccount:<namespace>:<service account name> ServiceAccount是运行在 了解ServiceAccount资源   ServiceAcount作用在单一命名空间,为每个命名空间创建默认的ServiceAccount。 多个pod可以使用相同命名空间下的同一的ServiceAccount,  ServiceAccount如何与授权文件绑定    在pod的manifest文件中,可以指定账户名称的方式,将一个serviceAccount

    1.5K20编辑于 2022-07-28
  • 来自专栏互联网-小阿宇

    Kubernetes部署Dashboard(WEB UI管理界面)

    IfNotPresent 部署Dashboard # kubectl apply -f recommended.yaml namespace/kubernetes-dashboard created serviceaccount kubectl create serviceaccount dashboard-serviceaccount -n kubernetes-dashboard # 创建clusterrolebinding kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount =kubernetes-dashboard:dashboard-serviceaccount 获取token [root@node01 ~]# kubectl get secret -n kubernetes-dashboard | grep dashboard-serviceaccount-token dashboard-serviceaccount-token-vd64k kubernetes.io/service-account-token

    1.2K10编辑于 2022-11-21
  • 来自专栏kubernetes中文社区

    Kubernetes 管理 Service Accounts

    当插件处于激活状态(在大多数发行版中都默认情况)创建或修改pod时,会按以下操作执行: 如果pod没有设置ServiceAccount,则将ServiceAccount设置为default。 确保pod引用的ServiceAccount存在,否则将会拒绝请求。 异步行为: 观察serviceAccount的创建,并创建一个相应的Secret 来允许API访问。 观察serviceAccount的删除,并删除所有相应的ServiceAccountToken Secret 观察secret 添加,并确保关联的ServiceAccount存在,并在需要时向secret ,并确保每个有效的namespaces中都存在一个名为“default”的ServiceAccount

    95920发布于 2019-06-24
  • 来自专栏有点技术

    使用Kubernetes身份在微服务之间进行身份验证

    例如,当您想将“读取机密”仅限制为群集中的管理员用户时,可以使用ServiceAccount来进行。 1.ServiceAccount是身份。身份既可以分配给用户,也可以分配给Pod。 ? 为何没有角色和RoleBinding的ServiceAccount又如何? API应用具有一个空的ServiceAccount,该帐户没有任何权限。 每次创建ServiceAccount时,Kubernetes都会创建一个secret。 机密持有ServiceAccount的令牌,您可以使用该令牌来调用Kubernetes API。 •在用户对象中,您可以找到以下属性:•与Pod-使用的ServiceAccount相对应的用户名system:serviceaccount:test:sa-test-1。 在本文中,您看到了一个在服务之间使用ServiceAccount卷投影进行身份验证的示例,以及如何使用它更好地替代默认的ServiceAccount令牌。

    9.4K30发布于 2020-12-22
领券