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 |