kubectl rolling-update
执行指定ReplicationController的滚动更新。
该命令创建了一个新的RC, 然后一次更新一个pod方式逐步使用新的PodTemplate,最终实现Pod滚动更新,new-controller.json需要与之前RC在相同的namespace下。
!http://kubernetes.io/images/docs/kubectl_rollingupdate.svg
语法
- $ rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] --image=NEW_CONTAINER_IMAGE | -f NEW_CONTROLLER_SPEC)
示例
使用frontend-v2.json中的新RC数据更新frontend-v1的pod。
- kubectl rolling-update frontend-v1 -f frontend-v2.json
使用JSON数据更新frontend-v1的pod。
- cat frontend-v2.json | kubectl rolling-update frontend-v1 -f -
其他
- kubectl rolling-update frontend-v1 frontend-v2 --image=image:v2
- kubectl rolling-update frontend --image=image:v2
- kubectl rolling-update frontend-v1 frontend-v2 --rollback
Flags
Name | Shorthand | Default | Usage | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
allow-missing-template-keys | true | If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats. | ||||||||||
container | Container name which will have its image upgraded. Only relevant when —image is specified, ignored otherwise. Required when using —image on a multi-container pod | |||||||||||
deployment-label-key | deployment | The key to use to differentiate between two different controllers, default 'deployment'. Only relevant when —image is specified, ignored otherwise | ||||||||||
dry-run | false | If true, only print the object that would be sent, without sending it. | ||||||||||
filename | f | [] | Filename or URL to file to use to create the new replication controller. | |||||||||
image | Image to use for upgrading the replication controller. Must be distinct from the existing image (either new image or new image tag). Can not be used with —filename/-f | |||||||||||
image-pull-policy | Explicit policy for when to pull container images. Required when —image is same as existing image, ignored otherwise. | |||||||||||
include-extended-apis | true | If true, include definitions of new APIs via calls to the API server. [default true] | ||||||||||
no-headers | false | When using the default or custom-column output format, don't print headers (default print headers). | ||||||||||
output | o | Output format. One of: json | yaml | wide | name | custom-columns=… | custom-columns-file=… | go-template=… | go-template-file=… | jsonpath=… | jsonpath-file=… See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath]. | |
output-version | DEPRECATED: To use a specific API version, fully-qualify the resource, version, and group (for example: 'jobs.v1.batch/myjob'). | |||||||||||
poll-interval | 3s | Time delay between polling for replication controller status after the update. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". | ||||||||||
rollback | false | If true, this is a request to abort an existing rollout that is partially rolled out. It effectively reverses current and next and runs a rollout | ||||||||||
schema-cache-dir | ~/.kube/schema | If non-empty, load/store cached API schemas in this directory, default is '$HOME/.kube/schema' | ||||||||||
show-all | a | false | When printing, show all resources (default hide terminated pods.) | |||||||||
show-labels | false | When printing, show all labels as the last column (default hide labels column) | ||||||||||
sort-by | If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. | |||||||||||
template | Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]. | |||||||||||
timeout | 5m0s | Max time to wait for a replication controller to update before giving up. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". | ||||||||||
update-period | 1m0s | Time to wait between updating pods. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". | ||||||||||
validate | true | If true, use a schema to validate the input before sending it |