我安装了Kubernetes并执行了kubeadm init并从工作人员那里加入。但是当我运行kubectl获取节点时,它会给出以下响应
服务器没有资源类型"节点"
这可能是什么问题? COuld在/ var / log / messages
中看不到任何内容这里有任何提示吗?
答案 0 :(得分:2)
就我而言,我想查看我的 Pod 的描述。
当我使用 kubectl describe postgres-deployment-866647ff76-72kwf
时,错误说错误:服务器没有资源类型“postgres-deployment-866647ff76-72kwf”。
我通过在 pod 名称前添加 pod
来更正它,如下所示:
kubectl describe pod postgres-deployment-866647ff76-72kwf
答案 1 :(得分:1)
我认为未正确设置身份验证凭据。您是否已将kubeconfig文件/etc/kubernetes/admin.conf
复制到~/.kube/config
?如果您使用kubeadm,API服务器应配置为在6443上运行,而不是在8080.您是否还可以检查KUBECONFIG变量是否未设置?
使用标志--v=99
增加详细级别也会有所帮助。此外,您是从安装了Kubernetes主组件的同一台计算机上访问的,还是从外部访问?
答案 2 :(得分:0)
当我尝试使用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