1、kubectl convert简介
kubectl convert
可以转换配置文件为不同的API版本,支持YAML和JSON格式。
该命令将配置文件名,目录或URL作为输入,并将其转换为指定的版本格式,如果目标版本未指定或不支持,则转换为最新版本。默认输出将以YAML格式打印出来,可以使用- o选项改变输出格式。
2、kubectl convert语法
kubectl convert -f FILENAME
3、kubectl convert命令
1)将"pod.yaml"转换为最新版本并打印到stdout。
kubectl convert -f pod.yaml
2)将"pod.yaml"指定的资源的实时状态转换为最新版本#,并以json格式打印到stdout。
kubectl convert -f pod.yaml --local -o json
3)将当前目录下的所有文件转换为最新版本,并将其全部创建
kubectl convert -f . | kubectl create -f -
4、选项说明
名称 | 简称 | 默认 | 用法 |
allow-missing-template-keys | true | 如果为true,当模板中缺少字段或映射键时, 忽略模板中的任何错误。 只适用于golang和jsonpath输出格式。 | |
filename | f | [] | 需要转换的文件的文件名、目录或URL。 |
include-extended-apis | true | 如果为true, 则通过调用API服务器包含新API的定义。 (默认true) | |
local | true | 如果为true, convert将不会尝试联系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 [ ], golang template [ ] 和 jsonpath template [ ]。 | |
output-version | 输出带有给定组版本的格式化对象 (例如: 'extensions/v1beta1')。) | ||
recursive | R | false | 递归地处理-f, --filename中使用的目录。 当想要管理组织在同一目录中的相关清单时使用。 |
schema-cache-dir | ~/.kube/schema | 如果非空, 则在此目录中load/store缓存的API模式, 默认为'$HOME/.kube/schema' | |
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 [ ]。 | ||
validate | true | 如果为true, 则在发送输入之前使用模式验证输入。 |