2017-10-15 3 views
0

Ich habe eine kubectl welche Version ist 1.8.0 und ein Kubernetes-Cluster, welche Version ist 1.7.4. Die Verwendung dieses kubectl zum Anfordern des kubernetes-Clusters ist in einigen Fällen falsch, wenn eine CronJob YAML-Datei angewendet wird.Gibt es eine Möglichkeit, eine höhere Version kubectl zu verwenden, um eine niedrigere Version kubernetes anzufordern?

Ich habe viel gesucht, konnte aber keine Möglichkeit finden, eine höhere Version kubectl zu verwenden, um eine niedrigere Version des kubernetes-Clusters anzufordern.

Für Docker könnte ich DOCKER_API_VERSION mit der Server-API für den Docker-Client kompatibel sein. Also für Kubernetes, gibt es eine ähnliche, um dies zu tun?

Antwort

0

Ja, es gibt eine Option wie diese in meiner kubectl Version 1.6.6.

kubectl options

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

Es war veraltet obwohl. Ich denke, diese Option wurde in 1.8.0

+0

In kubectl-v1.8.0, ich nicht das Argument finden konnte ... – flyer

1

kubectl apply gelöscht insbesondere hat keine Fähigkeit zu switch versions of a resource (es bettet eine bestimmte Version in einer Anmerkung und muss für immer mit dieser Version umgehen).

Für allgemeine Abrufen von Ressourcen können Sie in vollem Umfang die API-Gruppe und die Version der Ressourcen qualifizieren Sie vom Server anfordern:

# 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

Ist dies bedeutet, dass APIServer mehrere Versionen einer Ressource unterstützen könnte? – flyer

+0

ja. Wenn Sie ein Deployment-Objekt in der Extensions-API-Gruppe erstellen, können Sie es über die apps-API-Gruppe anfordern, und der Server führt die Conversion für Sie durch, –

+0

, danke. – flyer

0

IMO, installieren Sie einfach die untere Version kubectl, verwenden Sie es mit der niedrigeren Version Cluster .

kubectl ist eine einzelne Dateianwendung, wir können mehrere Versionen koexistieren.

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

Es funktioniert, aber es scheint nicht einfach zu sein, mit mehreren Versionen von k8s konfrontiert – flyer

Verwandte Themen