Kubernetes Kubectl连通性问题

Kubernetes Kubectl连通性问题,kubernetes,kubectl,Kubernetes,Kubectl,我使用systemd服务安装了第一个ectd、kubeapiserver和kubelet。这些服务运行良好,并侦听所有必需的端口 当我运行kubectl cluster info时,我得到了以下输出 Kubernetes master is running at http://localhost:8080 etcd-0 Healthy {"health": "true"} 当我运行kubectl get ComponentStatus时,我得到以下输出 K

我使用systemd服务安装了第一个ectd、kubeapiserver和kubelet。这些服务运行良好,并侦听所有必需的端口

当我运行kubectl cluster info时,我得到了以下输出

Kubernetes master is running at http://localhost:8080
etcd-0               Healthy     {"health": "true"}
当我运行kubectl get ComponentStatus时,我得到以下输出

Kubernetes master is running at http://localhost:8080
etcd-0               Healthy     {"health": "true"}
但是运行kubectl get节点,我得到以下错误

Error from server (ServerTimeout): the server cannot complete the requested operation at this time, try again later (get nodes)

有谁能帮我解决这个问题。

你丢失的kubeconfig文件。kubectl在该位置查找配置文件
$HOME/.kube/config

在安装过程中,您可以在主节点上复制这样的配置文件

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

控制器管理器和调度程序的状态是什么。当您运行下面的命令时,是否将它们列为健康状态

kubectl get cs
有关信息:

:~# k get cs
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME                 STATUS      MESSAGE                                                                                       ERROR
controller-manager   Unhealthy   Get "http://127.0.0.1:10252/healthz": dial tcp 127.0.0.1:10252: connect: connection refused   
scheduler            Unhealthy   Get "http://127.0.0.1:10251/healthz": dial tcp 127.0.0.1:10251: connect: connection refused   
etcd-0               Healthy     {"health":"true"} 
--------
在所有主节点上修改以下文件:

$ sudo vim /etc/kubernetes/manifests/kube-scheduler.yaml
注释或删除该行:

- --port=0
- --port=0
在(spec->containers->command->kube调度程序)中

注释或删除该行:

- --port=0
- --port=0
在(规范->容器->命令->kube控制器管理器)中

然后重新启动kubelet服务:

$ sudo systemctl restart kubelet.service

到目前为止,我还没有配置控制器管理器和调度程序
root@ubuntu:~#kubectl获取cs调度程序不正常获取http://127.0.0.1:10251/healthz: 拨打tcp 127.0.0.1:10251:getsockopt:连接被拒绝控制器管理器http://127.0.0.1:10252/healthz: 拨打tcp 127.0.0.1:10252:getsockopt:connection被拒绝的etcd-1http://192.168.57.140:400/health: 拨打tcp 192.168.57.140:400:getsockopt:connection Deceed etcd-0 health{“health”:“true”}
我想列出etcd,但我不确定是否需要配置控制器管理器和调度程序以确保kubectl获得节点工作是。应设置控制器管理器和调度程序,否则k8s无法在重新配置的集群中工作<代码>root@ubuntu:~#kubectl群集信息Kubernetes主机正在运行http://localhost:8080 root@ubuntu:~#kubectl获取节点名称状态角色年龄版本127.0.0.1就绪119m v1.12.0root@ubuntu:~#kubectl获取cs名称状态消息错误控制器管理器健康正常计划程序Healthy ok etcd-0 Healthy{“health”:“true”}不知道为什么master的角色是none。你知道吗?我把节点标为主节点。现在我可以看到角色为master运行这个命令
kubectl--kubeconfig=/etc/kubernetes/admin.conf get pod
看到它列出了pod。您使用过kubadm或手动安装kubernetes集群吗?如果是手动安装的,请将链接放在您遵循的说明上。您还可以检查kube apiserver日志和kubelet服务日志中的错误吗?我还没有遵循这样的特定链接。我阅读了许多文档并创建了提到的主组件。我的安装是手动的。不幸的是,如果你手动安装集群,那么很多事情都会出错。在没有详细信息的情况下,很难猜测如何解决问题您已经做了什么以及群集的当前状态如何。我使用kubernetes重新配置了群集hardway文档,下面是我的群集的状态谢谢您Mustapha。是否需要重新启动kubelet?