问题标签 [k8s-rolebinding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
79 浏览

kubernetes - 我在这个 kubernetes RBAC 设置中缺少什么?

我想运行一个 pod 来监听端点列表的更新(我还没有准备好采用端点集的 alpha 级功能,但我最终会扩展到那个。)

我有这个代码:

部署和运行时出现此错误:

我定义了以下角色和角色绑定并将其部署到“eng”命名空间:

我有以下角色绑定:

您会注意到,我将它应用于default命名空间和eng命名空间 serviceaccount default,尽管错误消息似乎表明它确实在命名空间中的defaultserviceaccount 中运行eng

我以前使用过按预期工作的 Role 和 RoleBinding 和 ServiceAccount 对象,所以我不明白为什么这不起作用。我错过了什么?

出于测试/复制目的,我通过kubectl cp将构建的二进制文件(cgo off)放入使用kubectl -n eng create deplpoyvanillaubuntu映像运行创建的容器中/bin/sh -c sleep 999999999,然后在该 pod-container 中执行 /bin/bash shell 来运行此程序。

0 投票
0 回答
82 浏览

kubernetes - 用户系统描述/扩展部署时出现禁止错误:node:ip.xx

我正在尝试从容器内部执行 K8S kubectl cmds(名称:autodeploy)。我已经配置了 ClusterRole、ServiceAccount 和 ClusterRoleBinding。但是在 K8S 部署上执行描述和缩放操作时出现 Forbidden 错误。

服务器错误(禁止): deployments.apps“test-deployment”被禁止:用户“system:node:ip-xx-xx-xx-xx.ec2.internal”无法在 API 组“apps”中获取资源“deployments”在命名空间“abc”中

自动部署容器也在同一个命名空间 abc 中

集群角色:

服务帐户:

集群角色绑定:

0 投票
0 回答
51 浏览

kubernetes - 使用 mpdev 部署 GCP Marketplace

我正在尝试按照此处的说明使用 mpdev 将 k8s 应用程序部署到市场。

https://github.com/GoogleCloudPlatform/marketplace-k8s-app-tools/blob/master/docs/building-deployer-helm.md

我添加了 schema.yaml 和应用程序 yaml 文件。我创建了一个 helm deploy 映像并将其推送到 repo,当我尝试使用

我面临与权限相关的错误。

名称:“test-deployment-consul-sync-catalog”,命名空间:“”对象:&{map[“apiVersion”:“rbac.authorization.k8s.io/v1”“kind”:“ClusterRole”“元数据”: map["annotations":map["kubectl.kubernetes.io/last-applied-configuration":""] "labels":map["app":"consul" "app.kubernetes.io/name":"test -deployment" "chart":"consul-helm" "heritage":"Helm" "release":"test-deployment"] "name":"test-deployment-consul-sync-catalog"] "rules":[ map["apiGroups":[""] "resources":["services" "endpoints"] "verbs":["get" "list" "watch" "从服务器更新”“补丁”“删除”“创建”]]地图[“apiGroups”:[“”]“资源”:[“节点”]“动词”:[“get”]]]]}从服务器:“ /data/resources.yaml": clusterroles.rbac.authorization.k8s.io "test-deployment-consul-sync-catalog" 被禁止:用户“system:serviceaccount:test-ns:test-deployment-deployer-sa”无法在集群范围内的 API 组“rbac.authorization.k8s.io”中获取资源“clusterroles” 服务器错误(禁止):检索时出错当前配置:资源:“rbac.authorization.k8s.io/v1,Resource=clusterroles”,GroupVersionKind:“rbac.authorization.k8s.io/v1,Kind=ClusterRole”

角色 :

角色绑定:

服务帐户:

0 投票
0 回答
60 浏览

openshift - 如何在 Openshift 中删除或停用 systen:admin

我目前面临在 OpenShift 集群中删除system:admin(不是kubeadmin!)用户的问题。

我尝试直接从以下位置删除cluster-admins集群角色绑定以及集群角色:cluster-adminsystem:admin

这几乎奏效了——当然system:admin用户还在那里,我似乎无法删除它。但是,重启集群后,system:admin又是特权...

感谢每一个提示,例如如何删除用户system:admin,或如何永久删除该用户的角色/权限。

0 投票
0 回答
34 浏览

kubernetes - 角色绑定到两个不同命名空间的服务帐户是否需要两个 .kube/config 数据?

我已经为我们的开发人员创建了一个与命名空间绑定角色的服务帐户user-devapplication并为他生成了 .kube/config 内容。他现在已经在使用它了。

现在他想要访问另一个命名空间,即sso.

我是否只需要将现有服务帐户添加到命名空间中user-dev的角色绑定,如此处所述sso

如果是这样,开发人员是否获得两个 .kube/config 然后连接到两个命名空间?或者向第二个命名空间添加角色绑定sso不会导致他的访问令牌发生任何变化并且他可以继续使用他现有的 .kube/config 文件?我有点卡在那里。

0 投票
2 回答
82 浏览

kubernetes - Kubernetes 用户在单个命名空间上工作的角色定义

我目前正面临目前的情况。我想让用户访问各个命名空间,这样他们就可以

  • 使用 Helm 图表创建和部署资源(例如,来自 Bitnami)

另一方面,用户不应该

  • 创建/检索/修改/删除 RBAC 设置,如 ServiceAccounts、RoleBindings、Roles、NetworkPolicies
  • 掌握与 ServiceAccounts 相关的秘密

当然,关键是在这里为它定义最好的角色。可能,以下不是最好的主意:

因此,如果你能提出一些明智的方法,用户可以尽可能自由地使用它,但不要接触一些更“危险”的资源,那就太好了。

本质上,我想遵循此处概述的工作流程 ( https://jeremievallee.com/2018/05/28/kubernetes-rbac-namespace-user.html )。所以最重要的是,一个命名空间中的单个用户无法读取同一命名空间中用户的秘密,因此他们无法使用其他人的凭据进行身份验证。

0 投票
1 回答
63 浏览

kubernetes - 以编程方式在 Kubernetes 中创建用户

我正在寻找一种在 Kubernetes 中创建/检索/更新/删除用户的方法,这样我就可以通过 RoleBindings 允许他某些东西。

我发现的一切或多或少都是在主节点上的手动工作。但是,我想我可以通过 API 调用部署在 Kubernetes 中的服务来为我做魔法,而无需做任何手动工作。有这样的东西吗?

0 投票
1 回答
42 浏览

kubernetes - 修改 Kubernetes 的 ClusterRole

我想为我的 Kubernetes 集群( https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles)的一些用户使用 ClusterRole编辑。

然而,不幸的是,用户可以访问和修改资源配额和限制范围。

我现在的问题是:如何通过 RoleBinding 授予用户对命名空间的访问权限,以使角色本质上是 CluserRole编辑,但没有对资源配额和限制范围的任何访问权限?

0 投票
2 回答
44 浏览

kubernetes - 限制对特定服务帐户的 K8s 机密访问

我有一个秘密,其中包含非常敏感的信息。我想确保这个秘密只能由某个服务帐户访问,其他任何人都不能访问。

使用 RBAC,我可以判断哪个用户可以访问哪些资源。但是有什么方法可以告诉我这个秘密只能由这个用户访问?

0 投票
0 回答
39 浏览

kubernetes - 如何创建允许获取所有 CRD 的 ClusterRole?

我正在使用kubernetes-event-exporter将事件流式传输到弹性搜索。在流式传输事件时,会出现大量错误,因为“视图”ClusterRole 不允许为我的 CRD 获取标签/注释。

有没有办法定义一个 ClusterRole,这样我就不需要在其中指定每个 CRD 来获得读取访问权限?