我正在创建CI / CD管道。
我跑helm install --wait --timeout 300 ...
。但这并不是真正等待,只是在"发布"状态为DEPLOYED
。
那么我在kubectl get pods --namespace default -l 'release=${TAG}' -o yaml
中看到了一些可以使用的东西:
- kind: Pod
status:
conditions:
- lastProbeTime: null
lastTransitionTime: 2018-05-11T00:30:46Z
status: "True"
type: Initialized
- lastProbeTime: null
lastTransitionTime: 2018-05-11T00:30:48Z
status: "True"
type: Ready
所以我想我会在Ready
条件成为" True"。
感觉有点不对劲......每个人都解决了这个问题,所以我假设kubectl
有一些功能,是吗?
这是正确的查询吗? (见Kubernetes JSONPath reference)
kubectl get pods --namespace default -l' release = sc8757070' -o jsonpath =' {。items [*]。status.conditions [?(@。type ==" Ready")]。status}'
答案 0 :(得分:0)
有一个不错的选择-n | --namespace NAMESPACE
,它允许等待不同名称空间中的部署,例如在kube-system
中:
kubectl rollout status deployment tiller-deploy -n kube-system