kubectl 在 $HOME/.kube 目录中查找一个名为 config 的配置文件。 可以通过设置 KUBECONFIG 环境变量或设置 --kubeconfig 参数来指定其它 kubeconfig 文件。本文主要介绍Kubernetes(K8s)中kubectl set selector常用命令。

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

 [custom-columns], 

golang template 

[template/#pkg-overview

和 jsonpath template 

[user-guide/jsonpath]。

output-version

DEPRECATED: 要使用特定的API版本,

请完全限定资源、版本和组 (例如: 'jobs.v1.batch/myjob')。

record

false

在资源注释中记录当前kubectl命令。

如果设置为false,则不记录该命令。

如果设置为true,则记录命令。

如果未设置,则默认仅在已有注释值时更新现有注释值。

recursive

R

false

递归地处理-f, --filename中使用的目录。

当想要管理组织在同一目录中的相关清单时使用

resource-version

如果非空,则只有当这是对象的当前资源版本时,

选择器更新才会成功。仅在指定单个资源时有效。

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 

[template/#pkg-overview ]。

推荐文档

相关文档

大家感兴趣的内容

随机列表