Kubernetes-验证部署

时间:2019-05-06 11:04:34

标签: kubernetes

我有一个命名空间namespace-具有约10-15个部署。 创建一个大的Yaml文件,并将其应用于“部署”。

我如何验证,等待,监视,阻止,直到所有部署都已推出?

目前我正在考虑:

  • 获取部署列表
  • foreach部署-进行api调用以获取状态
  • 一旦所有部署都是“绿色”-结束过程,表明部署/运输完成。

部署的状态是什么,是否已有类似的工具可以做到? https://github.com/Shopify/kubernetes-deploy是我要搜索的一种,但是它会强制使用yml结构,等等。

什么是最好的方法?

4 个答案:

答案 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选项检查语法。