2017-10-15 56 views
0

我有一个kubectl哪个版本是1.8.0和一个kubernetes集群版本是1.7.4。使用此kubectl来请求kubernetes群集在某些情况下会出错,如应用CronJob yaml文件。有没有办法使用更高版本的kubectl来请求更低版本的kubernetes?

我已经搜索了很多,但找不到使用较高版本kubectl来请求较低版本kubernetes群集的方法。

对于Docker,我可以将DOCKER_API_VERSION设置为与Docker客户端的服务器API兼容。所以对于kubernetes,有没有类似的做到这一点?

回答

0

是的,在我的kubectl版本1.6.6中有这样的选项。

kubectl options

--api-version='': DEPRECATED: The API version to use when talking to the server

这是弃用虽然。我猜这个选项已被删除1.8.0

+0

在kubectl-v1.8.0中,我找不到参数... – flyer

1

kubectl apply特别是没有能力switch versions of a resource(它嵌入注释中的特定版本,并且必须永远处理该版本)。

资源的一般取,你可以完全限定您从服务器请求的API组和资源的版本:

# no qualification, defaults to preferred server group and version 
kubectl get deployments 

# group qualification, defaults to preferred server version of that group 
kubectl get deployments.extensions 
kubectl get deployments.apps 

# fully qualified resource.version.group 
kubectl get deployments.v1beta1.extensions 
kubectl get deployments.v1beta1.apps 
kubectl get deployments.v1beta2.apps 
+0

这是否意味着APIServer可以支持多个版本的资源? – flyer

+0

是的。如果您在扩展API组中创建了一个Deployment对象,则可以通过应用程序API组请求它,服务器将为您执行转换 –

+0

,谢谢。 – flyer

0

IMO,只需安装kubectl较低的版本,用较低版本的群集使用。

kubectl是一个单文件应用程序,我们可以有多个版本共存。

curl -L https://storage.googleapis.com/kubernetes-release/release/v1.7.4/bin/linux/amd64/kubectl -o kubectl-1.7 
+0

它的作品,但它似乎并不容易使用面对多个版本的K8s – flyer

相关问题