如何在Kubernetes中启用扩展API?

时间:2015-11-16 13:36:25

标签: kubernetes google-kubernetes-engine

我想试试Google容器引擎(GKE)中Kubernetes 1.1中提供的新Ingress资源。但是,当我尝试创建以下资源时:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test-ingress
spec:
  backend:
    serviceName: testsvc
    servicePort: 80

使用:

$ kubectl create -f test-ingress.yaml

我最终收到以下错误消息:

error: could not read an encoded object from test-ingress.yaml: API version "extensions/v1beta1" in "test-ingress.yaml" isn't supported, only supports API versions ["v1"]
error: no objects passed to create

当我运行kubectl version时,它会显示:

Client Version: version.Info{Major:"1", Minor:"0", GitVersion:"v1.0.7", GitCommit:"6234d6a0abd3323cd08c52602e4a91e47fc9491c", GitTreeState:"clean"}
Server Version: version.Info{Major:"1", Minor:"1", GitVersion:"v1.1.1", GitCommit:"92635e23dfafb2ddc828c8ac6c03c7a7205a84d8", GitTreeState:"clean"}

但是我似乎安装了最新的kubectl组件,因为运行gcloud components update kubectl只是给了我:

All components are up to date.

那么如何在Kubernetes / GKE中启用extensions/v1beta1

1 个答案:

答案 0 :(得分:1)

问题是您的客户端(kubectl)不支持新的入口资源,因为它还没有更新到1.1。这在Google Container Engine release notes

中提到
  

打包的kubectl是版本1.0.7,因此是新的Kubernetes 1.1   自动缩放之类的API将无法通过kubectl直到下一个   周推送kubectl二进制文件。

以及解决方案(手动下载新的二进制文件)。