kubectl edit
使用默认编辑器 编辑服务器上定义的资源。
使用命令行工具获取的任何资源都可以使用edit命令编辑。edit命令会打开使用KUBE_EDITOR,GIT_EDITOR 或者EDITOR环境变量定义的编辑器,可以同时编辑多个资源,但所编辑过的资源只会一次性提交。edit除命令参数外还接受文件名形式。
文件默认输出格式为YAML。要以JSON格式编辑,请指定“-o json”选项。
如果在更新资源时报错,将会在磁盘上创建一个临时文件来记录。在更新资源时最常见的错误是几个用户同时使用编辑器更改服务器上资源,发生这种情况,你需要将你的更改应用到最新版本的资源上,或者更新保存的临时副本。
语法
- $ edit (RESOURCE/NAME | -f FILENAME)
示例
编辑名为'docker-registry'的service:
- kubectl edit svc/docker-registry
使用替代的编辑器
- KUBE_EDITOR="nano" kubectl edit svc/docker-registry
编辑名为“myjob”的service,输出JSON格式 V1 API版本
- kubectl edit job.v1.batch/myjob -o json
以YAML格式输出编辑deployment“mydeployment”,并将修改的配置保存在annotation中:
- kubectl edit deployment/mydeployment -o yaml --save-config
Flags
Name | Shorthand | Default | Usage | |
---|---|---|---|---|
filename | f | [] | Filename, directory, or URL to files to use to edit the resource | |
include-extended-apis | true | If true, include definitions of new APIs via calls to the API server. [default true] | ||
output | o | yaml | Output format. One of: yaml | json. |
record | false | Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists. | ||
recursive | R | false | Process the directory used in -f, —filename recursively. Useful when you want to manage related manifests organized within the same directory. | |
save-config | false | If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future. | ||
schema-cache-dir | ~/.kube/schema | If non-empty, load/store cached API schemas in this directory, default is '$HOME/.kube/schema' | ||
validate | true | If true, use a schema to validate the input before sending it | ||
windows-line-endings | false | Use Windows line-ending |