kubernetes - 离线检查 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 系统中的这些不兼容性,以便我可以在尝试部署之前拒绝它。
解决方案
只需运行以下命令即可验证语法
kubectl create -f <yaml-file> --dry-run
事实上,试运行选项是验证 YAML 语法和对象模式。您可以将输出抓取到变量中,如果没有错误,则重新运行命令而不进行空运行
推荐阅读
- file - 如何设置通过 flask_restless 端点上传二进制对象?
- javascript - 使用 RxJS 按属性状态计数?
- android - 为 Android 64 编译 libcurl
- python - BeautifulSoup 抓取备用 div
- vb.net - 发送带附件的电子邮件失败(使用 System.Net.Mail)没有附件工作
- amazon-dynamodb - 优化 DynamoDB 读取消耗
- android - 位置侦听器不适用于网络提供商
- c++ - 无法识别的类函数副本
- c - 使用 C 语言查找 Kaprekar 常数的动态数组与普通数组
- amazon-dynamodb - 如何在不使用 hashKey 的情况下查询 dynamoDB