首页 > 解决方案 > 离线检查 Kubernetes 的 YAML 文件的工具

问题描述

是否有可用的工具可以告诉我 K8s YAML 配置(将提供给kubectl apply)是否对目标 Kubernetes 版本有效,而无需连接到 Kubernetes 集群?

这里的一个具体用例是在实际部署到集群之前检测不兼容性,只是因为一些已经过时的标签最终在更新的 Kubernetes 版本中被删除,例如 Helm 和切换到 Kubernetes 1.16 时发生的情况(参见Helm init 在 Kubernetes 1.16.0 上失败):

掉落:

apiVersion: extensions/v1beta1

新的:

apiVersion: apps/v1

我想检查 CI 系统中的这些不兼容性,以便我可以在尝试部署之前拒绝它。

标签: kubernetescontinuous-integration

解决方案


只需运行以下命令即可验证语法

kubectl create -f <yaml-file> --dry-run

事实上,试运行选项是验证 YAML 语法和对象模式。您可以将输出抓取到变量中,如果没有错误,则重新运行命令而不进行空运行


推荐阅读