1、kubectl set和kubectl set selector
kubectl set
配置应用资源。使用这些命令可以更改现有应用资源一些信息。
kubectl set selector
是用来设置资源的selector(选择器)。如果在调用"set selecto"命令之前已经存在选择器,则新创建的选择器将覆盖原来的选择器。
selector必须以字母或数字开头,最多包含63个字符,可使用:字母、数字、连字符" - " 、点"."和下划线" _ "。如果指定了--resource-version,则更新将使用此资源版本,否则将使用现有的资源版本。注意:目前selector命令只能用于Service对象。
2、Kubectl set selector语法
Kubectl set selector (-f FILENAME | TYPE NAME) EXPRESSIONS [--resource-version=version]
3、Kubectl set selector命令
在创建deployment/service对之前设置labels和selector:
kubectl create service clusterip cjavapy-svc --clusterip="None" -o yaml --dry-run | kubectl set selector --local -f - 'environment=qa' -o yaml | kubectl create -f -
kubectl create deployment cjavapy-dep -o yaml --dry-run | kubectl label --local -f - environment=qa -o yaml | kubectl create -f -
4、选项说明
名称 | 简称 | 默认 | 用法 |
all | false | 选择指定资源类型命名空间下的所有资源。 | |
allow-missing-template-keys | true | 如果为true,当模板中缺少字段或映射键时, 忽略模板中的任何错误。 只适用于golang和jsonpath输出格式。 | |
dry-run | false | 如果为true, 则只打印将要发送的对象,而不发送它。 | |
filename | f | [] | 要更新选择器的文件资源的文件名、目录或URL。 |
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=... 参考 columns golang template 和 jsonpath template | |
output-version | DEPRECATED: 要使用特定的API版本, 请完全限定资源、版本和组 (例如: | ||
record | false | 在资源注释中记录当前kubectl命令。 如果设置为false,则不记录该命令。 如果设置为true,则记录命令。 如果未设置,则默认仅在已有注释值时更新现有注释值。 | |
recursive | R | false | 递归地处理-f, --filename中使用的目录。 当想要管理组织在同一目录中的相关清单时使用 |
resource-version | 如果非空,则只有当这是对象的当前资源版本时, 选择器更新才会成功。仅在指定单个资源时有效。 | ||
show-all | a | false | 打印时,显示所有资源(默认隐藏终止的pod)。 |
show-labels | false | 打印时,将所有标签显示为最后一列(默认隐藏标签列) | |
sort-by | 如果非空,则使用此字段规范对列表类型进行排序。 字段规范表示为JSONPath表达式(例如。 这个JSONPath表达式指定的API资源中的字段必须是整数或字符串。 | ||
template | 当 -o=go-template, -o=go-template-file 时 要使用的模板文件的模板字符串或路径。 模板格式为golang templates |