我有一个命名空间namespace
-具有约10-15个部署。
创建一个大的Yaml文件,并将其应用于“部署”。
我如何验证,等待,监视,阻止,直到所有部署都已推出?
目前我正在考虑:
部署的状态是什么,是否已有类似的工具可以做到? https://github.com/Shopify/kubernetes-deploy是我要搜索的一种,但是它会强制使用yml结构,等等。
什么是最好的方法?
答案 0 :(得分:2)
设置readiness probe并使用kubectl rollout status deployment <deployment_name>
查看deployment
的推出状态
答案 1 :(得分:1)
您最好使用Helm来管理部署。 Helm允许您创建可重复使用的模板,这些模板可应用于多个环境。在此处阅读更多信息:https://helm.sh/docs/chart_template_guide/#getting-started-with-a-chart-template
您可以为所有服务创建一个大图表,也可以为每个服务创建单独的Helm图表。
Helm还允许您在完成部署后运行测试。在此处阅读更多信息:https://helm.sh/docs/developing_charts/#a-breakdown-of-the-helm-test-hooks
答案 2 :(得分:1)
您可能想使用kubectl wait
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#wait
它让您等待特定对象的特定条件 就您而言:
kubectl -n namespace \
wait --for=condition=Available --timeout=32s \
deployment/name
答案 3 :(得分:0)
在apply / create命令中使用--dry-run选项检查语法。