Kubernetes配置版本错误-您的配置文件使用旧的API规范:“ kubeadm.k8s.io/v1alpha1”

时间:2019-05-05 00:56:45

标签: kubernetes

我正在遵循这个tutorial来创建Raspberry Pi Kubernetes集群。这是我的配置:

apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
controllerManagerExtraArgs:
  pod-eviction-timeout: 10s
  node-monitor-grace-period: 10s

问题是,当我运行sudo kubeadm init --config kubeadm_conf.yaml时,出现以下错误:

your configuration file uses an old API spec: "kubeadm.k8s.io/v1alpha1". Please use kubeadm v1.11 instead and run 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.

我尝试向here寻求帮助,但没有任何效果。感谢您的帮助。

如果我使用v1beta1”

W0505 13:10:25.319213   15824 strict.go:47] unknown configuration schema.GroupVe                                                                                                                                   rsionKind{Group:"kubeadm.k8s.io", Version:"v1beta1", Kind:"MasterConfiguration"}                                                                                                                                    for scheme definitions in "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/schem                                                                                                                                   e/scheme.go:31" and "k8s.io/kubernetes/cmd/kubeadm/app/componentconfigs/scheme.g                                                                                                                                   o:28"
[config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1b                                                                                                                                   eta1, Kind=MasterConfiguration
no InitConfiguration or ClusterConfiguration kind was found in the YAML file

2 个答案:

答案 0 :(得分:0)

您正在使用什么版本的kubernetes?

尝试以下

apiVersion:kubeadm.k8s.io/v1alpha2

OR

apiVersion:kubeadm.k8s.io/v1alpha3

答案 1 :(得分:0)

  1. 验证版本:
    kubeadm version
    kubeadm config view
  1. 为您的init命令生成默认设置以查看您的设置(应进行修改):
    kubeadm init --config defaults
  1. 您尝试了输出提供的解决方案吗?
     kubeadm config migrate --old-config old.yaml --new-config new.yaml

您可以找到有关kubeadm init --config

的教程

此外,如果您使用的是旧版本,请查看documentation

  

建议您使用kubeadm config migration命令将旧的v1alpha3配置迁移到v1beta1,因为v1alpha3将在Kubernetes 1.15中删除。   有关v1beta1配置中每个字段的更多详细信息,您可以导航到我们的API reference pages

从旧的kubeadm配置版本迁移:

  

kubeadm v1.11应该用于将v1alpha1迁移到v1alpha2;应该使用kubeadm v1.12将v1alpha2转换为v1alpha3)

针对第二期no InitConfiguration or ClusterConfiguration kind was found in the YAML file,文档中也有答案:

  

使用--config选项执行kubeadm init时,可以使用以下配置类型:InitConfiguration,ClusterConfiguration,KubeProxyConfiguration,KubeletConfiguration,但是InitConfiguration和ClusterConfiguration之间仅是强制性的。