kind 0.11.1创建集群apiVersion报错原因及版本对应文档查找方法
错误原因
- API版本不兼容:
kind.sigs.k8s.io/v1alpha3是kind 0.7及更早版本使用的配置API版本,从kind 0.8版本开始,官方已经将配置API升级为kind.x-k8s.io/v1beta1,你使用的kind 0.11.1版本已经不再兼容旧版v1alpha3的API标识,因此会抛出unknown apiVersion的报错。 - 新增spec块报错的原因:kind的Cluster配置所有字段直接定义在YAML根层级,不需要额外嵌套spec外层块,很多过时教程或者混淆了Kubernetes原生资源写法的内容会误导用户添加spec块,直接删除spec块,把nodes等配置字段放在根层级即可解决该问题。
适配kind 0.11.1的正确配置示例
kind: Cluster apiVersion: kind.x-k8s.io/v1beta1 nodes: - role: control-plane extraPortMappings: - containerPort: 30080 hostPort: 80 listenAddress: "0.0.0.0" protocol: TCP
修改配置后重新执行原创建命令即可正常创建集群。
查看对应版本配置语法的方法
所有和你当前安装的kind版本完全匹配的配置语法,都可以通过kind内置命令直接查询,不需要查找外部资料:
- 执行
kind config --help可以查看当前版本支持的所有配置相关操作指引 - 执行
kind config show可以输出当前版本默认的集群配置模板,直接基于模板修改即可完全避免语法不兼容问题 - 执行
kind create cluster --help可以查看集群创建命令的所有参数和配置关联说明
内容的提问来源于stack exchange,提问作者Aaron
相关产品推荐
相关产品推荐

