是否有一些工具可以告诉我 K8s YAML 配置(将提供给 kubectl apply
)对于目标 Kubernetes 版本是否有效,而无需连接到 Kubernetes 集群?
这里的一个具体用例是在实际部署到集群之前检测不兼容性,只是因为一些已经弃用的标签最终在较新的 Kubernetes 版本中被删除,例如正如 Helm 和切换到 Kubernetes 1.16 所发生的那样(请参阅 Helm init fails on Kubernetes 1.16.0 ):
删除:
apiVersion: extensions/v1beta1
新:
apiVersion: apps/v1
我想检查 CI 系统内的此类不兼容性,以便我可以在尝试部署它之前拒绝它。
最佳答案
只需运行以下命令即可验证语法
kubectl create -f <yaml-file> --dry-run
事实上,空运行选项是为了验证 YAML 语法和对象模式。您可以将输出抓取到变量中,如果没有错误,则重新运行该命令,而无需进行干运行
关于kubernetes - 离线检查 Kubernetes 的 YAML 文件的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59032419/