重启linux后,k8s的kube-apiserver无法正常启动的问题

重启linux后,k8s的kube-apiserver无法正常启动的问题:

请教老师后,留作参考

首先确认
1.防火墙已经关闭
2.selinux设置disabled完成
3.docker启动正常
4.kubelet运行状态active
5.docker images存在所需镜像


问题描述:

之前使用正常,重启后,kube-apiserver无法启动:
master端无法get到nodes
kube-apiserver无法启动


原因分析:

1.master端kubectl get nodes提示:
The connection to the server x.x.x.x:6443 was refused - did you specify the right host or port?
2.netstat -tunlp | grep 6443 提示:
没有该端口号
3.systemctl status kube-apiserver提示:
Unit kube-apiserver.service could not be found

没有该服务,判断为配置文件出错


解决方案:

一、master端

1.kubectl 查看命令是否正常
2.cd ~ 进入根目录
3.ll -a 查看是否存在.kube文件
4.rm -rf .kube/ 删除
5.systemctl restart docker 重启docker
6.systemctl restart kubelet 重启kubelet
7.kubeadm reset 重置
8.rm -rf /etc/cni/ 删除
9.kubeadm init --kubernetes-version=v1.17.17 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/16 --ignore-preflight-errors=Swap 初始化节点
第一个箭头为成功,第二个记住,待会有用

10.初始化命令成功后,创建.kube目录(重新配置)
10.1mkdir -p $HOME/.kube
10.2sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
10.3sudo chown ( i d − u ) : (id -u): (idu):(id -g) $HOME/.kube/config
11.下载并安装flannel配置
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
更改

12.然后把文件 kube-flannel.yml 拷贝到opt目录下,执行
kubectl apply -f kube-flannel.yml
13.查看节点,已经出现,查看6443端口号,已经出现

一、(一)如果出现状态为notready
在这里插入图片描述

1.需要配置kube-flannel.yml
在这里插入图片描述
2.运行后即可
在这里插入图片描述

二、node1端

1.kubeadm reset 重置
2.rm -rf /etc/cni/
3.vi /etc/sysconfig/kubelet
3.1.kubeadm join x.x.x.x:6443 --token skagw4.hadivii9y393gvv9 --discovery-token-ca-cert-hash sha256:d4c5a34b948f221362c9796f7aba7d10711213a128e12b9c8da3d18843
4.systemctl enable docker

### 回答1: 您好!您的问题似乎是关于Kubernetes的问题,我会尽力回答。 当您尝试启动Kubernetes的kube-apiserver时,可能会遇到一些问题。这些问题可能会由各种原因引起,例如配置错误或系统故障。 以下是一些可能会导致kube-apiserver启动失败的常见原因: 1. 网络问题kube-apiserver需要连接到Kubernetes集群中的其他组件。如果网络不可用或者某些组件无法访问,kube-apiserver可能无法启动。 2. 配置问题kube-apiserver需要正确的配置文件来启动。如果配置文件中存在错误或缺失关键信息,kube-apiserver可能无法启动。 3. 资源问题kube-apiserver需要足够的系统资源才能正常运行。如果系统资源不足,kube-apiserver可能无法启动。 4. 版本不兼容:kube-apiserver需要与其他Kubernetes组件的版本兼容。如果您尝试使用不兼容的版本,kube-apiserver可能无法启动。 如果您遇到kube-apiserver启动失败的问题,建议检查日志以获取更多详细信息,然后根据具体情况采取适当的措施。如果您需要更具体的帮助,请提供更多详细信息,我将尽力提供更多帮助。 ### 回答2: kube-apiserverKubernetes中的一个组件,其作用是处理来自客户端的API请求并在集群中的各个组件之间转发请求。如果kube-apiserver启动失败,可能会导致整个Kubernetes集群出现问题。那么,为什么kube-apiserver启动会失败呢? 1. 服务端口被占用:kube-apiserver默认监听6443端口,如果该端口已被其他进程占用,则kube-apiserver启动失败。这种情况下可以使用netstat命令或lsof命令查看端口占用情况,并在必要时释放该端口。 2. 配置文件错误:kube-apiserver启动需要依赖配置文件,如果配置文件错误、格式不正确或者缺少必要字段,会导致kube-apiserver启动失败。在这种情况下,可以检查配置文件是否正确、文件路径是否正确,并进行必要的修改。 3. 证书过期或不正确:kube-apiserver启动需要依赖TLS证书,如果证书过期或不正确,会导致kube-apiserver启动失败。在这种情况下,可以检查证书是否正确、是否过期,并进行必要的更新。 4. 内存不足:kube-apiserver启动需要占用一定的内存,如果系统内存不足,会导致kube-apiserver启动失败。在这种情况下,可以考虑释放一些内存或者调整内存大小,以满足kube-apiserver启动需求。 5. 依赖组件出现问题kube-apiserver需要依赖etcd等组件支持其正常运行,如果这些组件出现问题,会导致kube-apiserver启动失败。在这种情况下,可以检查etcd等组件是否正常运行,并进行必要的调整。 总之,kube-apiserver启动失败是Kubernetes中常见的问题之一,涉及到多个方面。针对具体情况,我们需要进行综合分析,并寻找相应的解决方法,以保证Kubernetes集群的正常运行。 ### 回答3: kube-apiserverKubernetes中的重要组件之一,它负责接收来自客户端的API请求并将其转换为Kubernetes集群内的资源操作。如果kube-apiserver启动失败,会导致Kubernetes集群无法响应API请求,进而导致整个集群的不可用。 让我们来探讨一下kube-apiserver启动失败的可能原因和解决方案。 可能原因: 1. 配置参数错误:kube-apiserver启动时需要使用一系列配置参数,如果配置参数设置错误,将导致启动失败。主要需要关注以下参数:–bind-address、–secure-port、–etcd-servers等。 2. ETCD无法连接:kube-apiserver与ETCD建立连接是必要的,如果ETCD无法连接,将导致kube-apiserver启动失败。检查ETCD节点是否正常工作,防火墙是否存在过滤规则等。 3. 证书或密钥问题kube-apiserver需要使用TLS证书对请求进行认证和加密,如果证书或密钥设置错误,将导致启动失败。检查证书和密钥是否过期或被篡改。 4. 没有足够的资源:kube-apiserver需要足够的计算资源来运行,如果计算资源不足,将导致启动失败。检查主机资源使用情况并增加资源。 解决方法: 1. 检查配置参数,确认是否配置正确; 2. 检查ETCD的连接状态并修复连接问题; 3. 重新生成证书和密钥,并确保它们是正确的; 4. 增加主机的资源以满足kube-apiserver的运行需求。 总之,kube-apiserver启动失败是一个严重的问题,需要认真对待。通过细心的排查和解决问题,可以保证Kubernetes集群的稳定和可靠运行。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值