Je suis nouveau sur Kubettes.
Je n'ai pas pu obtenir de déploiements à l'aide de Kubectl, mais je peux voir tous les déploiements sur le tableau de bord Kubettes. Comment puis-je résoudre ce problème?
user@master:~$ kubectl get deployments
error: the server doesn't have a resource type "deployments"
Version Kubettes : 1.12
Version Kubecl : 1.13
Versions API Kubectuector :
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
v1
API-Ressources :
user@master:~$ kubectl api-resources
NAME SHORTNAMES APIGROUP NAMESPACED
KIND
bindings true
Binding
componentstatuses cs false
ComponentStatus
configmaps cm true
ConfigMap
endpoints ep true
Endpoints
events ev true
Event
limitranges limits true
LimitRange
namespaces ns false
Namespace
nodes no false
Node
persistentvolumeclaims pvc true
PersistentVolumeClaim
persistentvolumes pv false
PersistentVolume
pods po true
Pod
podtemplates true
PodTemplate
replicationcontrollers rc true
ReplicationController
resourcequotas quota true
ResourceQuota
secrets true
Secret
serviceaccounts sa true
ServiceAccount
services svc true
Service
apiservices apiregistration.k8s.io false
APIService
Merci pour votre aide.
------------- Edit 1 -----------
Bonjour @ededuardobaitello, merci pour une réponse quicieuse. Le problème n'est pas lié à la permission.
user@master:~$ kubectl auth can-i get deployments Warning: the server doesn't have a resource type 'deployments' yes user@master:~$ kubectl auth can-i get deployment Warning: the server doesn't have a resource type 'deployment' yes user@master:~$ kubectl auth can-i get namespaces yes user@master:~$ kubectl auth can-i get pods yes
Je pense donc que ce n'est pas une question dupliquée.
user@master:~$ kubectl get po --namespace=kube-system NAME READY STATUS RESTARTS AGE calico-kube-controllers-7c6b876df8-nk7nm 1/1 Running 2 118d calico-node-8lt9f 1/1 Running 3 118d calico-node-d9r9l 1/1 Running 2 118d calico-node-ffqlj 1/1 Running 2 118d dns-autoscaler-57ff59dd4c-c9tjv 1/1 Running 2 118d kube-apiserver-node1 1/1 Running 3 118d kube-controller-manager-node1 1/1 Running 6 118d kube-dns-84467597f5-hf2fn 3/3 Running 6 118d kube-dns-84467597f5-sttgx 3/3 Running 9 118d kube-proxy-node1 1/1 Running 3 118d kube-proxy-node2 1/1 Running 2 118d kube-proxy-node3 1/1 Running 2 118d kube-scheduler-node1 1/1 Running 6 118d kubernetes-dashboard-5db4d9f45f-gkl6w 1/1 Running 3 118d nginx-proxy-node2 1/1 Running 2 118d nginx-proxy-node3 1/1 Running 2 118d tiller-deploy-6f6fd74b68-27fqc 1/1 Running 0 16d
user@master:~$ kubectl get componentstatus NAME STATUS MESSAGE scheduler Healthy ok controller-manager Healthy ok etcd-2 Healthy {"health": "true"} etcd-1 Healthy {"health": "true"} etcd-0 Healthy {"health": "true"}
La première étape consisterait à augmenter un niveau de verbosité pour aider à déterminer la cause première:
Kubectl obtenir déploiement --v = 99
Globalement, il y a peu de choses qui pourraient le causer:
cp -i /etc/kubernettes/admin.conf $ home/.kube/config
chown $ (id -u): $ (id -g) $ home/.kube/config
Comme suggéré ici https://github.com/kubernettes/kubettes/issues/52636
Dans mon cas lors de l'exécution "Kubectl Obtenir des déploiements --v = 99" en plus du "Le serveur n'a pas de déploiement de type de ressource", il a montré que:
Response Body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Unauthorized","reason":"Unauthorized","code":401
Si tel est le cas, consultez votre fichier de configuration Kubectl Certificats (ils ne sont peut-être pas là, ont expiré, de nouveaux doivent être créés, etc.) ou sur des EKS puis des touches IAM émises/activées.
veuillez changer d'utilisateur à la racine et essayez la même chose. Ça a fonctionné pour moi
@Alican
Je soupçonne que c'est à cause de la version binaire de Kubectul. J'ai remarqué que votre version Kubecl (1.13) est supérieure à la version Kubettes (1.12).
pouvez-vous essayer de réduire votre version Kubecl à 1,12 ou plus bas?