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

1、kubectl set和kubectl set image

kubectl set配置应用资源。使用这些命令可以更改现有应用资源一些信息。

kubectl set image是用来更新现有的资源对象的容器镜像。

可使用资源对象包括(不区分大小写):

pod (po)、replicationcontroller (rc)、deployment (deploy)、daemonset (ds)、job、replicaset (rs)

2、Kubectl set image语法

Kubectl set image (-f FILENAME | TYPE NAME) CONTAINER_NAME_1=CONTAINER_IMAGE_1 ... CONTAINER_NAME_N=CONTAINER_IMAGE_N

3、Kubectl set resources命令

1)将deployment中的nginx容器镜像设置为 "nginx:1.9.1"

kubectl set image deployment/nginx busybox=busybox nginx=nginx:1.9.1

2)所有deployment和rc的nginx容器镜像更新为 "nginx:1.9.1"

kubectl set image deployments,rc nginx=nginx:1.9.1 --all

3)将daemonset cjavapy的所有容器镜像更新为“nginx:1.9.1”

kubectl set image daemonset cjavapy *=nginx:1.9.1

4)从本地文件中更新nginx容器镜像

kubectl set image -f path/to/file.yaml nginx=nginx:1.9.1 --local -o yaml

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 [jsonpath]。

output-version

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

请完全限定资源、版本和组 

(例如:'jobs.v1.batch/myjob').

record

false

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

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

如果设置为true,

则记录命令。如果未设置,

则默认仅在已有注释值时更新现有注释值。

recursive

R

false

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

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

selector

l

选择器(标签查询)进行筛选,支持'=','=='和'!='。

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]

推荐文档

相关文档

大家感兴趣的内容

随机列表