Kubectl 获取节点 return "the server doesn't have a resource type "nodes""
Kubectl get nodes return "the server doesn't have a resource type "nodes""
我安装了 Kubernetes 并执行了 kubeadm init 并从 worker 加入。但是当我 运行 kubectl get nodes 它给出以下响应
服务器没有资源类型"nodes"
这可能是什么问题?在 /var/log/messages
中看不到任何内容
这里有什么提示吗?
在我看来,身份验证凭据设置不正确。您是否将 kubeconfig 文件 /etc/kubernetes/admin.conf
复制到 ~/.kube/config
?如果您使用 kubeadm,API 服务器应该在 6443 上配置为 运行,而不是在 8080 上。您是否还可以检查 KUBECONFIG 变量是否未设置?
使用标志 --v=99
也有助于提高详细级别。另外,你是从安装了 Kubernetes master 组件的同一台机器访问,还是从外部访问?
我在尝试使用 Docker-Desktop 时收到此消息。我之前一直在用 Google Cloud 和 运行 一些 kubectl
命令做一些实验。结果是,在我的 ~/.kube/config
文件中,我仍然有与现在 non-existent 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
就我而言,我想查看 pods 的描述。
当我使用 kubectl describe postgres-deployment-866647ff76-72kwf
时,错误提示 错误:服务器没有资源类型“postgres-deployment-866647ff76-72kwf”.
我更正了,在pod名称前加了pod
,如下:
kubectl describe pod postgres-deployment-866647ff76-72kwf
我安装了 Kubernetes 并执行了 kubeadm init 并从 worker 加入。但是当我 运行 kubectl get nodes 它给出以下响应
服务器没有资源类型"nodes"
这可能是什么问题?在 /var/log/messages
中看不到任何内容这里有什么提示吗?
在我看来,身份验证凭据设置不正确。您是否将 kubeconfig 文件 /etc/kubernetes/admin.conf
复制到 ~/.kube/config
?如果您使用 kubeadm,API 服务器应该在 6443 上配置为 运行,而不是在 8080 上。您是否还可以检查 KUBECONFIG 变量是否未设置?
使用标志 --v=99
也有助于提高详细级别。另外,你是从安装了 Kubernetes master 组件的同一台机器访问,还是从外部访问?
我在尝试使用 Docker-Desktop 时收到此消息。我之前一直在用 Google Cloud 和 运行 一些 kubectl
命令做一些实验。结果是,在我的 ~/.kube/config
文件中,我仍然有与现在 non-existent 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
就我而言,我想查看 pods 的描述。
当我使用 kubectl describe postgres-deployment-866647ff76-72kwf
时,错误提示 错误:服务器没有资源类型“postgres-deployment-866647ff76-72kwf”.
我更正了,在pod名称前加了pod
,如下:
kubectl describe pod postgres-deployment-866647ff76-72kwf