据我对文档的了解,-R
标志应完全做到这一点,但是对我来说,命令kubectl rollout status -R -f k8s/services
失败,并出现error: rollout status is only supported on individual resources and resource collections - 3 resources were found
。
在k8s/services
目录中,我有3个服务清单。错误消息中提到的资源集合是什么(例如,如果不是3个服务)?使用-R
时目录中应该包含什么?
kubectl rollout status --help
:
Show the status of the rollout.
By default 'rollout status' will watch the status of the latest rollout until it's done. If you don't want to wait for
the rollout to finish then you can use --watch=false. Note that if a new rollout starts in-between, then 'rollout
status' will continue watching the latest revision. If you want to pin to a specific revision and abort if it is rolled
over by another revision, use --revision=N where N is the revision you need to watch for.
Examples:
# Watch the rollout status of a deployment
kubectl rollout status deployment/nginx
Options:
-f, --filename=[]: Filename, directory, or URL to files identifying the resource to get from a server.
-k, --kustomize='': Process the kustomization directory. This flag can't be used together with -f or -R.
-R, --recursive=false: Process the directory used in -f, --filename recursively. Useful when you want to manage
related manifests organized within the same directory.
--revision=0: Pin to a specific revision for showing its status. Defaults to 0 (last revision).
--timeout=0s: The length of time to wait before ending watch, zero means never. Any other values should contain a
corresponding time unit (e.g. 1s, 2m, 3h).
-w, --watch=true: Watch the status of the rollout until it's done.
Usage:
kubectl rollout status (TYPE NAME | TYPE/NAME) [flags] [options]
Use "kubectl options" for a list of global command-line options (applies to all commands).
我已经测试过kubectl
版1.14
和1.15
。
答案 0 :(得分:1)
这意味着它找到了3个服务,但您只能看到特定服务的推出状态。就像:
kubectl rollout status -f k8s/services/<svc-name>.yaml
当所有yaml都是services
的子级时,不需要使用-R。
看看为什么在此issue
中添加-R标志