2017-10-15 6 views
0

J'ai une kubectl quelle version est 1.8.0 et un cluster kubernetes dont la version est 1.7.4. L'utilisation de ce kubectl pour demander le cluster kubernetes sera erronée dans certains cas, comme l'application d'un fichier yaml CronJob.Existe-t-il un moyen d'utiliser une version supérieure de kubectl pour demander une version inférieure de kubernetes?

J'ai beaucoup cherché mais je n'ai pas trouvé de moyen d'utiliser une version plus haute kubectl pour demander une version plus basse du cluster kubernetes.

Pour Docker, je pouvais définir DOCKER_API_VERSION pour être compatible avec l'API du serveur pour le client docker. Donc, pour les kubernetes, y a-t-il un semblable à faire?

Répondre

0

Oui, il existe une option comme celle-ci dans mon kubectl version 1.6.6.

kubectl options

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

Il était dépréciée bien. Je suppose que cette option a été supprimée dans 1.8.0

+0

Dans kubectl-v1.8.0, je ne pouvais pas trouver l'argument ... Est-ce – flyer

1

kubectl apply en particulier n'a aucune capacité à switch versions of a resource (il incorpore une version particulière dans une annotation et doit faire face à cette version pour toujours).

Pour fetching générale des ressources, vous pouvez qualifier complètement le groupe API et la version de ressource que vous demandez du serveur:

# 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

signifie que APIServer pourrait prendre en charge plusieurs versions d'une ressource? – flyer

+0

oui. Si vous créez un objet Déploiement dans le groupe d'API d'extensions, vous pouvez le demander via le groupe d'API d'applications et le serveur effectuera la conversion pour vous –

+0

obtenu, merci. – flyer

0

OMI, il suffit d'installer la version inférieure kubectl, l'utiliser avec le cluster version inférieure .

kubectl est une application de fichier unique, nous pouvons avoir plusieurs versions coexistent.

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

Cela fonctionne mais il ne semble pas facile d'utiliser face à plusieurs versions de k8s – flyer