热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

物理机异常断电,linux虚拟机系统磁盘mount失败,导致无法启动;kubectl连接失败

虚拟机CentOS7挂载文件系统失败上周五下班前没有关闭虚拟机和物理机,今天周一开了虚拟机之后,发现操作系统启动失败。原因跟这篇文章描述的一模一样。解决操作系统的文件系统挂载的问题

虚拟机 CentOS 7 挂载文件系统失败

上周五下班前没有关闭虚拟机和物理机,

今天周一开了虚拟机之后,发现操作系统启动失败。

原因跟 这篇文章描述的一模一样。

解决操作系统的文件系统挂载的问题之后,


kubectl 命令运行失败

kubectl get nodes 等命令全部报错:

The connection to the server 192.168.102.149:6443 was refused - did you specify the right host or port?

运行 ss -tnlnetstat -tnl命令,发现 6443 端口没有被监听。

利用Google查询,发现问题在于 apiserver 启动失败。

docker ps -a | grep k8s_kube-apiserver
docker logs fd6330153fc3

通过以上命令,我发现 apiserver 启动失败的原因是

addrConn.createTransport failed to connect to {127.0.0.1:2379

并且最终 unable to create storage backend


利用 kubeadm 重装 k8s(即 Kubernetes) 集群

尝试了各种办法没有修复 apiserver, 于是决定重装 Kubernetes 集群。

在 Master 上

kubeadm reset
kubeadm init --kubernetes-version=v1.14.2 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
rm -fr $HOME/.kube
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

在 node1、node2 上,

kubeadm reset
cat /proc/sys/net/bridge/bridge-nf-call-ip6tables
cat /proc/sys/net/bridge/bridge-nf-call-iptables
echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables

kubeadm join 192.168.202.130:6443 --token ozs9n1.xz2k1w58i5ndsaim \
--discovery-token-ca-cert-hash sha256:3ca6e686aaec53d11ae08ac29d7de3bf328fd513847c2ffb0d9f317d36ccde96 --ignore-preflight-errors=Swap

经过以上步骤,终于成功复活 Kubernetes 集群。

kubectl get cs
kubectl get nodes
kubectl get pods
kubectl get pods -n kube-system
kubectl get ns

运行结果如下:

[root@svn ~]# kubectl get cs
NAME STATUS MESSAGE ERROR
scheduler Healthy ok
controller-manager Healthy ok
etcd-0 Healthy {"health":"true"}
[root@svn ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
app.centos7.com Ready 57m v1.14.2
jks.centos7.com Ready 55m v1.14.2
svn.centos7.com Ready master 61m v1.14.2
[root@svn ~]# kubectl get nodes -n kube-system
NAME STATUS ROLES AGE VERSION
app.centos7.com Ready 57m v1.14.2
jks.centos7.com Ready 55m v1.14.2
svn.centos7.com Ready master 61m v1.14.2
[root@svn ~]# kubectl get ns
NAME STATUS AGE
default Active 61m
kube-node-lease Active 61m
kube-public Active 61m
kube-system Active 61m
[root@svn ~]# kubectl get pods
No resources found.
[root@svn ~]# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-fb8b8dccf-2zv9n 1/1 Running 3 62m
coredns-fb8b8dccf-wwmtk 1/1 Running 3 62m
etcd-svn.centos7.com 1/1 Running 1 61m
kube-apiserver-svn.centos7.com 1/1 Running 1 61m
kube-controller-manager-svn.centos7.com 1/1 Running 1 61m
kube-flannel-ds-amd64-989ld 1/1 Running 0 48m
kube-flannel-ds-amd64-bdnkg 1/1 Running 1 48m
kube-flannel-ds-amd64-mndjd 1/1 Running 0 48m
kube-proxy-2s2c9 1/1 Running 0 58m
kube-proxy-5h7gp 1/1 Running 1 62m
kube-proxy-ms7cr 1/1 Running 0 57m
kube-scheduler-svn.centos7.com 1/1 Running 1 61m
[root@svn ~]#

参考资料

  • 物理机异常断电,linux虚拟机系统磁盘mount失败,导致无法启动

  • kube-apiserver unable to create storage backend

  • Kubeadm 安装中的各种坑

  • kubernetes启动时候错误(Unable to connect to the server: x509: certificate signed by unknown authority )

  • kubeadm快速搭建k8s集群

  • Kubeadm安装Kubernetes环境



推荐阅读
  • k8s进阶之搭建私有镜像仓库
    企业级私有镜像仓 ... [详细]
  • kubelet配置cni插件_Kubernetes新近kubectl及CNI漏洞修复,Rancher 2.2.1发布
    今天,Kubernetes发布了一系列补丁版本,修复新近发现的两个安全漏洞CVE-2019-1002101(kubectlcp命令安全漏洞)和CVE-2 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 【编程语言之Go介绍与环境安装】
    Go语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。  ... [详细]
  • Kubernetes(k8s)基础简介
    Kubernetes(k8s)基础简介目录一、Kubernetes概述(一)、Kubernetes是什么(二& ... [详细]
  • 2019我的金三银四
    先讲一下自己的情况吧,二本学生,17年毕业,目前在一家跨境电商从事Java技术开发工作(不是阿里,没那么厉害),技术栈目前偏向于容器云、持续集成持续交付这一块,也就是SpringBoot、Kuber ... [详细]
  • 写在前面本文隶属于专栏《100个问题搞定大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!本专栏目录结构和文献引用请见100个问题搞定 ... [详细]
  • docker+k8s+git+jenkins
    docker+k8s+git+jenkins,Go语言社区,Golang程序员人脉社 ... [详细]
  • k8shelm官网:https:helm.sh点击charts:https:artifacthub.iopackagessearch?sortrelevance&page11.1h ... [详细]
  • 本文|层面_Kubernetes概述
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Kubernetes概述相关的知识,希望对你有一定的参考价值。前言本文搜集大量关于Kuber ... [详细]
author-avatar
猪宝宝的事
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有