kubernetes - kubectl 如何等待 crd 创建?

标签 kubernetes azure-devops wait kubectl kubernetes-custom-resources

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

我们有一个包含 NATS 集群定义的 yaml 文件 ServiceAccount , Role , ClusterRoleBindingDeployment . 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/

相关文章:

Kubernetes rollout 在切换 web pod 时出现 503 错误

kubernetes - 如何在 Kong Ingress Controller 上配置子域

kubernetes - 在带有命名空间的 YML 中指定一个 secret

json - 解析 terraform plan 输出以检查模块与资源 block 的使用情况

java - Android中如何在不锁定UI线程的情况下等待?

kubernetes - 容器运行时网络未准备好: cni config uninitialized

node.js - Azure 身份验证 DefaultAzureCredential 与 Node Js

c# - VSTS 无法构建 docker 镜像

java - 为什么我们必须使用 "while"来检查竞争条件而不是 "if"

java - 将代码延迟给定秒数