kubernetes Kubectl get nodes return“服务器没有资源类型“nodes””

polkgigr  于 2023-11-17  发布在  Kubernetes
关注(0)|答案(4)|浏览(225)

我安装了Kubernetes并从worker执行了kubeadm init和join。但是当我运行kubectl get nodes时,它给出了以下响应
服务器没有资源类型“nodes”
在/var/log/messages中看不到任何内容
有什么提示吗?

mnemlml8

mnemlml81#

在我的情况下,我想看看我的豆荚的描述。
当我使用kubectl describe postgres-deployment-866647ff76-72kwf时,错误显示error:the server doesn 't have a resource type“postgres-deployment-866647 ff 76 - 72 kwf”
我通过在pod名称之前添加pod来纠正它,如下所示:

kubectl describe pod postgres-deployment-866647ff76-72kwf

字符串

dgtucam1

dgtucam12#

在我看来,身份验证凭证没有正确设置。你是否将kubeconfig文件/etc/kubernetes/admin.conf复制到~/.kube/config?如果你使用kubeadm,API服务器应该配置为在6443上运行,而不是在8080上运行。你能检查一下KUBECONFIG变量是否没有设置吗?
使用标记--v=99也有助于增加冗余级别。此外,您是从安装Kubernetes主组件的同一台机器访问,还是从外部访问?

dffbzjpn

dffbzjpn3#

我在尝试使用Docker-Desktop时收到了这条消息。我之前用Google Cloud做了一些实验,并为此运行了一些kubectl命令。结果是,在我的~/.kube/config文件中,我仍然有与现在不存在的GCP集群相关的陈旧配置,并且我的默认k8s上下文被设置为该配置。
尝试以下操作:

# Find what current contexts you have
kubectl config view

字符串
我明白了:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://kubernetes.docker.internal:6443
  name: docker-desktop
contexts:
- context:
    cluster: docker-desktop
    user: docker-desktop
  name: docker-desktop
current-context: docker-desktop
kind: Config
preferences: {}
users:
- name: docker-desktop
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED


所以现在只有一个上下文。如果你有多个上下文,检查它是否是你期望的设置为current-context的上下文。如果不是,请将其更改为:

# Get rid of old contexts that you don't use 
kubectl config delete-context some-old-context

# Selecting the context that I have auth for
kubectl config use-context docker-desktop

ev7lccsx

ev7lccsx4#

知道“node”资源始终存在于Kubernetes集群中,此消息意味着kubectl连接到真实的集群之外的其他东西。
它通常是~/.kube/config文件中错误的标志,在这种情况下,它会默认尝试连接到localhost:8080如果您在该端口上本地运行任何东西,它会在kubectl调用时返回404错误,这将解释为“资源未找到”
这将产生如下给予错误:

the server doesn't have a resource type "nodes"
the server doesn't have a resource type "pods"
the server doesn't have a resource type "services"
...

字符串

相关问题