有没有办法使用更高版本的kubectl来请求更低版本的kubernetes?

时间:2017-10-15 09:04:46

标签: kubernetes kubectl

我有kubectl版本为1.8.0,kubernetes群集版本为1.7.4。使用此kubectl来请求kubernetes集群对于某些情况(例如应用CronJob yaml文件)是错误的。

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

对于Docker,我可以将DOCKER_API_VERSION设置为与docker客户端的服务器API兼容。所以对于kubernetes来说,是否有类似的做法?

3 个答案:

答案 0 :(得分:2)

# 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 尤其无法switch versions of a resource(它会在注释中嵌入特定版本,并且必须永远处理该版本。)

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

public void loadObject(string objReference, float xPos, float yPos){
    Instantiate(Resources.Load<GameObject>(objReference),xPos,yPos);

    //I want access to the prefabs properties
}

答案 1 :(得分:1)

是的,我的kubectl版本1.6.6中有一个类似的选项。

kubectl options

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

虽然已弃用。我想这个选项已在1.8.0中删除

答案 2 :(得分:0)

IMO,只需安装较低版本kubectl,将其与较低版本的群集一起使用。

curl -L https://storage.googleapis.com/kubernetes-release/release/v1.7.4/bin/linux/amd64/kubectl -o kubectl-1.7 是单个文件应用程序,我们可以将多个版本共存。

wp_enqueue_script