有没有办法使用更高版本的kubectl来请求更低版本的kubernetes?
我有一个kubectl
哪个版本是1.8.0
和一个kubernetes集群版本是1.7.4
。使用此kubectl
来请求kubernetes群集在某些情况下会出错,如应用CronJob
yaml文件。有没有办法使用更高版本的kubectl来请求更低版本的kubernetes?
我已经搜索了很多,但找不到使用较高版本kubectl
来请求较低版本kubernetes群集的方法。
对于Docker,我可以将DOCKER_API_VERSION
设置为与Docker客户端的服务器API兼容。所以对于kubernetes,有没有类似的做到这一点?
是的,在我的kubectl
版本1.6.6中有这样的选项。
kubectl options
--api-version='': DEPRECATED: The API version to use when talking to the server
这是弃用虽然。我猜这个选项已被删除1.8.0
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
IMO,只需安装kubectl
较低的版本,用较低版本的群集使用。
kubectl
是一个单文件应用程序,我们可以有多个版本共存。
curl -L https://storage.googleapis.com/kubernetes-release/release/v1.7.4/bin/linux/amd64/kubectl -o kubectl-1.7
它的作品,但它似乎并不容易使用面对多个版本的K8s – flyer
在kubectl-v1.8.0中,我找不到参数... – flyer