我安装了Kubernetes并从worker执行了kubeadm init和join。但是当我运行kubectl get nodes时,它给出了以下响应服务器没有资源类型“nodes”在/var/log/messages中看不到任何内容有什么提示吗?
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 postgres-deployment-866647ff76-72kwf
pod
kubectl describe pod postgres-deployment-866647ff76-72kwf
字符串
dgtucam12#
在我看来,身份验证凭证没有正确设置。你是否将kubeconfig文件/etc/kubernetes/admin.conf复制到~/.kube/config?如果你使用kubeadm,API服务器应该配置为在6443上运行,而不是在8080上运行。你能检查一下KUBECONFIG变量是否没有设置吗?使用标记--v=99也有助于增加冗余级别。此外,您是从安装Kubernetes主组件的同一台机器访问,还是从外部访问?
/etc/kubernetes/admin.conf
~/.kube/config
--v=99
dffbzjpn3#
我在尝试使用Docker-Desktop时收到了这条消息。我之前用Google Cloud做了一些实验,并为此运行了一些kubectl命令。结果是,在我的~/.kube/config文件中,我仍然有与现在不存在的GCP集群相关的陈旧配置,并且我的默认k8s上下文被设置为该配置。尝试以下操作:
kubectl
# 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的上下文。如果不是,请将其更改为:
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
型
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" ...
4条答案
按热度按时间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
来纠正它,如下所示:字符串
dgtucam12#
在我看来,身份验证凭证没有正确设置。你是否将kubeconfig文件
/etc/kubernetes/admin.conf
复制到~/.kube/config
?如果你使用kubeadm,API服务器应该配置为在6443上运行,而不是在8080上运行。你能检查一下KUBECONFIG变量是否没有设置吗?使用标记
--v=99
也有助于增加冗余级别。此外,您是从安装Kubernetes主组件的同一台机器访问,还是从外部访问?dffbzjpn3#
我在尝试使用Docker-Desktop时收到了这条消息。我之前用Google Cloud做了一些实验,并为此运行了一些
kubectl
命令。结果是,在我的~/.kube/config
文件中,我仍然有与现在不存在的GCP集群相关的陈旧配置,并且我的默认k8s上下文被设置为该配置。尝试以下操作:
字符串
我明白了:
型
所以现在只有一个上下文。如果你有多个上下文,检查它是否是你期望的设置为
current-context
的上下文。如果不是,请将其更改为:型
ev7lccsx4#
知道“node”资源始终存在于Kubernetes集群中,此消息意味着
kubectl
连接到真实的集群之外的其他东西。它通常是
~/.kube/config
文件中错误的标志,在这种情况下,它会默认尝试连接到localhost:8080如果您在该端口上本地运行任何东西,它会在kubectl调用时返回404错误,这将解释为“资源未找到”这将产生如下给予错误:
字符串