Kubeturbo 的集群角色

集群角色指定执行以下操作所需的许可权和特权。

操作 支持的角色
部署 Kubeturbo

要将 Kubeturbo 部署到集群,您必须在给定集群中具有 cluster-admin 角色。 此角色具有足够的特权,可以为服务帐户创建名称空间和集群角色绑定。

监控和优化集群中的工作负载 您为 Kubeturbo 选择的角色确定其对集群的访问级别。 默认情况下,Kubeturbo 会以 "cluster-admin角色部署到集群中。 该角色可完全控制群集中的所有资源。 如果您喜欢定制角色,那么在部署 Kubeturbo 时必须显式设置该角色。 支持以下定制角色:
  • turbo-cluster-admin 自定义角色

    该自定义角色指定了 Kubeturbo 为监控工作负载和执行Turbonomic为优化这些工作负载而生成的操作所需的最低权限。

    有关在 YAML 中添加权限引用的更多信息,请参阅此 YAML 资源

    有关 "turbo-cluster-admin自定义角色的更多信息,请参阅本主题的下一节。

  • turbo-cluster-reader 自定义角色

    此定制角色是最不具有特权的角色。 它指定 Kubeturbo 监视工作负载所需的最低许可权。 Turbonomic为优化这些工作负载而生成的操作只能在Turbonomic外部执行(例如,在你的集群中)。

    有关在 YAML 中添加权限引用的更多信息,请参阅此 YAML 资源

    有关 "turbo-cluster-reader自定义角色的更多信息,请参阅本主题的最后一节。

Turbonomic集群管理员自定义角色

apiGroups 资源 动词 描述
“”

batch

pods

jobs

"*" 需要对所有 pod 和作业采取自动操作。
“”

apps

apps.openshift.io

extensions

turbonomic.com

devops.turbonomic.io

redis.redis.opstreelabs.in

charts.helm.k8s.io

deployments

replicasets

replicationcontrollers

statefulsets

daemonsets

deploymentconfigs

resourcequotas

operatorresourcemappings

operatorresourcemappings/status

redis

xls

get

list

watch

update

patch

需要对列表中的所有资源采取自动调整大小的操作。
“”

apps

batch

extensions

policy

app.k8s.io

argoproj.io

apiextensions.k8s.io

config.openshift.io

policy.turbonomic.io

nodes

services

endpoints

namespaces

limitranges

persistentvolumes

persistentvolumeclaims

poddisruptionbudget

cronjobs

applications

customresourcedefinitions

clusterversions

slohorizontalscales

containerverticalscales

policybindings

get

list

watch

需要发现列表中的所有资源。
machine.openshift.io machines

machinesets

get

list

update

需要 Red Hat OpenShift 中使用 machinesets 自动执行节点调配和暂停操作。
“” nodes/spec

nodes/stats

nodes/metrics

nodes/proxy

nodes/log

get 需要发现列表中的所有资源。
security.openshift.io securitycontextconstraints list

use

需要在 Red Hat OpenShift 中使用安全上下文约束 (SCC) 进行自动操作。
“” serviceaccounts create

delete

impersonate

对于 Red Hat OpenShift Kubeturbo 会创建一个绑定到所需 SCC 的临时服务账户,冒充该账户以便接纳控制器以正确的权限评估操作,然后在执行操作时删除该账户。

Kubernetes ,不执行 SCC 准入。 动词通常不使用,因此可以删除。 get verb 是只读的,可以安全地保存在每个集群中,以满足简单的发现需求。

rbac.authorization.k8s.io roles

rolebindings

clusterroles

clusterrolebindings

create

delete

update

需要在群集中创建自动运行所需的资源。 Kubeturbo 会根据角色自动创建此类资源,并根据需要随时更新。
“” secrets get

watch

Kubeturbo 需要它来读取存储如何连接到 Turbonomic 的详细信息的密文。

Turbonomic集群阅读器自定义角色

apiGroups 资源 动词 描述
“”

apps

app.k8s.io

apps.openshift.io

batch

extensions

turbonomic.com

devops.turbonomic.io

policy.turbonomic.io

config.openshift.io

nodes

pods

deployments

replicasets

replicationcontrollers

services

endpoints

namespaces

limitranges

resourcequotas

persistentvolumes

persistentvolumeclaims

applications

jobs

cronjobs

statefulsets

daemonsets

deploymentconfigs

operatorresourcemappings

clusterversions

slohorizontalscales

containerverticalscales

policybindings

get

watch

list

发现并读取所有资源
machine.openshift.io machines

machinesets

get

list

发现并读取 machinesets 中的所有内容。 Red Hat OpenShift
“” nodes/spec nodes/stats nodes/metrics nodes/proxy get 发现并读取节点的所有详细信息