1、kubectl set和kubectl set subject
kubectl set
配置应用资源。使用这些命令可以更改现有应用资源一些信息。
kubectl set subject
是用来更新RoleBinding / ClusterRoleBinding中User、Group 或 ServiceAccount。
2、Kubectl set subject语法
Kubectl set subject (-f FILENAME | TYPE NAME) [--user=username] [--group=groupname] [--serviceaccount=namespace:serviceaccountname] [--dry-run]
3、Kubectl set subject命令
1)更新一个ClusterRoleBinding 的 cjavapy
kubectl set subject clusterrolebinding admin --serviceaccount=namespace:cjavapy
2)更新RoleBinding的userMaster,userDevelop和groupMaster
kubectl set subject rolebinding admin --user=userMaster --user=userDevelop --group=groupMaster
4、选项说明
名称 | 简称 | 默认 | 用法 |
all | false | 选择指定资源类型命名空间下的所有资源。 | |
allow-missing-template-keys | true | 如果为true,当模板中缺少字段或映射键时, 忽略模板中的任何错误。 只适用于golang和jsonpath输出格式。 | |
dry-run | false | 如果为true,则只打印将要发送的对象, 而不发送它。 | |
filename | f | [] | 要更新subject的文件资源的文件名、目录或URL |
group | [] | 要绑定到角色的组 | |
local | false | 如果为true,设置的资源将不会联系api-server, 而是在本地运行。 | |
no-headers | false | 当使用默认或自定义列输出格式时, 不要打印标题(默认打印标题)。 | |
output | o | 输出格式。 以下之一: json|yaml|wide|name|custom-columns=...| custom-columns-file=...|go-template=...| go-template-file=...|jsonpath=...|jsonpath-file=... 参考 custom columns [custom-columns], golang template [template/#pkg-overview] 和 jsonpath template [user-guide/jsonpath]. | |
output-version | DEPRECATED: 要使用特定的API版本, 请完全限定资源、版本和组 (例如 : 'jobs.v1.batch/myjob'). | ||
recursive | R | false | 递归地处理-f, --filename 中使用的目录。 当想要管理组织在同一目录中的相关清单时使用。 |
selector | l | 选择器(标签查询)进行筛选, 支持'=','=='和'!='。 | |
serviceaccount | [] | 要绑定到角色的服务帐户 | |
show-all | a | false | 打印时, 显示所有资源(默认隐藏终止的pod)。 |
show-labels | false | 打印时, 将所有标签显示为最后一列(默认隐藏标签列) | |
sort-by | 如果非空,则使用此字段规范对列表类型进行排序。 字段规范表示为JSONPath表达式 (例如,'{.metadata.name}')。 这个JSONPath表达式 指定的API资源中的字段必须是整数或字符串。 | ||
template | 当-o=go-template, -o=go-template-file时 要使用的模板文件的模板字符串或路径。 模板格式为: golang templates | ||
user | [] | 要绑定到角色的用户名 |