web-dev-qa-db-fra.com

Kubettes "Le serveur n'a pas de déploiement de type de ressource"

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"}

5
AliCan Sahin

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:

  1. Vous pourriez avoir des commandes d'exécution ci-dessous en tant qu'utilisateur racine, pas une. Donc courir comme un utilisateur régulier

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

  1. Certificats dans le fichier de configuration de Kubecl expiré ou si le cluster est dans "AWS Eks", les touches d'accès IAM peuvent être inactives.

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.

  1. Manque d'autorisations RBAC afin qu'un utilisateur/groupe pour lequel les certificats/clés émis/signés ne soient pas autorisés à afficher des ressources spécifiques.
2
Alex

veuillez changer d'utilisateur à la racine et essayez la même chose. Ça a fonctionné pour moi

2
Sagar

@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?

0
Abhishek Soni