在运行脚本之前检查自定义资源定义是否存在的最佳方法是什么,仅使用 kubectl
命令行?
我们有一个包含 NATS 集群定义的 yaml 文件 ServiceAccount
, Role
, ClusterRoleBinding
和 Deployment
. Deployment
中使用的图片创建 crd
,第二个脚本使用该 crd
部署一套pods
.目前我们的 CI 管道需要多次运行第二个脚本,只有一次成功完成 crd
已经完全创建。我试过使用 kubectl wait
但无法弄清楚适用于完成 crd
的条件。 .
下面是我最近的尝试,尽管完全错误,但这说明了我们想要的一般顺序。kubectl wait --for=condition=complete kubectl apply -f 1.nats-cluster-operator.yaml kubectl apply -f 2.nats-cluster.yaml
最佳答案
CRD 的条件是 established
:
kubectl -n <namespace-here> wait --for condition=established --timeout=60s crd/<crd-name-here>
您可能需要调整
--timeout
适本地。
关于kubernetes - kubectl 如何等待 crd 创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57115602/