Kubernetes“服务器没有资源类型部署”

时间:2019-03-15 13:42:56

标签: kubernetes kubernetes-deployment

我是kubernetes的新手。

我无法使用kubectl进行部署,但可以在kubernetes仪表板上看到所有部署。我该如何解决这个问题?

this.values[8] = this.values[8].substr(0,this.values[8].indexOf('?'))

kubernetes版本: 1.12

kubectl版本: 1.13

kubectl api版本:

apiregistration.k8s.io/v1

apiregistration.k8s.io/v1beta1

v1

api资源:

user@master:~$ kubectl get deployments
error: the server doesn't have a resource type "deployments"

感谢您的帮助。

-----------编辑1 -----------

你好,@ EduardoBaitello,感谢您的答复。问题与许可无关。

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

所以我认为这不是重复的问题。

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

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

4 个答案:

答案 0 :(得分:1)

我在使用Kubernetes 1.13.5(客户端和服务器)时遇到与上述“编辑1”完全相同的行为。删除客户端上的~/.kube/http-cache目录对我有用。

答案 1 :(得分:1)

第一步是提高详细程度,以帮助找出根本原因:

  

Kubectl进行部署--v = 99

总体而言,可能会导致以下问题的原因:

  1. 您可能以超级用户(而不是普通用户)的身份在下面运行命令。因此,以普通用户身份运行
  

cp -i /etc/kubernetes/admin.conf $ HOME / .kube / config

     

chown $ {id -u):$ {id -g)$ HOME / .kube / config

如此处的建议https://github.com/kubernetes/kubernetes/issues/52636

  1. kubectl配置文件中的证书已过期,或者如果群集在“ AWS EKS”中,则IAM访问密钥可能无效。

就我而言,当运行“ kubectl获取部署--v = 99”时,除了“服务器没有资源类型部署”外,它还显示:

Response Body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Unauthorized","reason":"Unauthorized","code":401

如果是这种情况,请检查您的证书kubectl配置文件(它们可能不存在,已过期,必须创建新证书等),或者在EKS上则颁发/激活了IAM密钥。

  1. 缺少RBAC权限,因此不允许为其颁发/签名证书/密钥的用户/组查看特定资源。

答案 2 :(得分:0)

@AliCan

我怀疑这是因为Kubectl二进制版本。我注意到您的kubectl版本(1.13)高于Kubernetes版本(1.12)。

您可以尝试将kubectl版本降级到1.12或更低版本吗?

答案 3 :(得分:0)

请更改用户为root并尝试相同。对我有用