首页 > 解决方案 > 如何 kubectl 等待 crd 创建?

问题描述

kubectl在运行脚本之前,仅使用命令行检查自定义资源定义是否存在的最佳方法是什么?

我们有一个 yaml 文件,其中包含 NATS 集群ServiceAccountRole和. 中使用的图像创建,第二个脚本使用它来部署一组. 目前,我们的 CI 管道需要运行几次第二个脚本,只有在完全创建后才能成功完成。我尝试使用但无法弄清楚使用什么条件来完成 a 。ClusterRoleBindingDeploymentDeploymentcrdcrdpodscrdkubectl waitcrd

下面是我最近的尝试,尽管完全错误,但这说明了我们想要的一般顺序。

kubectl wait --for=condition=complete kubectl apply -f 1.nats-cluster-operator.yaml kubectl apply -f 2.nats-cluster.yaml

标签: kubernetesazure-devopswaitkubectlkubernetes-custom-resources

解决方案


CRD 的条件是established

kubectl -n <namespace-here> wait --for condition=established --timeout=60s crd/<crd-name-here>

您可能需要--timeout适当调整。


推荐阅读