如何在kubectl run与wait间添加命令,等待Pod创建并指定超时?
可行的解决方案
存在满足需求的命令,你可以插入以下命令来等待Pod在API Server中创建完成:
kubectl wait --for=condition=Exists pod/mypod --timeout=120s
说明:
- 该命令会持续轮询API Server,直到
mypod对象存在,或者达到120秒的超时时间,Pod不存在时不会直接执行失败。 - 执行成功后,再运行后续等待Pod就绪的命令,就不会因Pod未被API Server识别而报错。
注意事项:
你后续的kubectl wait命令中包含标签筛选-l olm.catalogSource=argocd-catalog,但前面kubectl run创建的Pod并没有添加这个标签,这会导致后续命令无法匹配到目标Pod,建议要么在创建Pod时添加对应标签:
kubectl run mypod --image=nginx --labels=olm.catalogSource=argocd-catalog
要么去掉后续命令中的标签筛选参数。
内容的提问来源于stack exchange,提问作者Fabrice Jammes
相关产品推荐
相关产品推荐

