Kubernetes(k8s) kubectl convert常用命令

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

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

 [

custom-columns

], golang template [

pkg-overview

] 和 jsonpath template [

user-guide/jsonpath

]。

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 [

pkg-overview

]。

validate

true

如果为true,

则在发送输入之前使用模式验证输入。

推荐阅读
cjavapy编程之路首页