我想试试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
?
答案 0 :(得分:1)
问题是您的客户端(kubectl)不支持新的入口资源,因为它还没有更新到1.1。这在Google Container Engine release notes:
中提到打包的kubectl是版本1.0.7,因此是新的Kubernetes 1.1 自动缩放之类的API将无法通过kubectl直到下一个 周推送kubectl二进制文件。
以及解决方案(手动下载新的二进制文件)。