虚拟机 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 <none> 57m v1.14.2
jks.centos7.com Ready <none> 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 <none> 57m v1.14.2
jks.centos7.com Ready <none> 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失败,导致无法启动; kubectl 连接失败的更多相关文章

  1. Linux虚拟机扩展磁盘

    Linux虚拟机扩展磁盘 1.虚拟机关机,Vmware中扩展磁盘 2.虚拟机开机,查看磁盘大小 [root@hadoop6 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmp ...

  2. 电脑本机ping通Linux虚拟机的方法

    一.安装VMware: 二.创建Linux虚拟机(centOS7): 三.开启虚拟机,在Linux桌面右键打开终端,输入查看虚拟机ip地址的命令:ifconfig -a    四.打开本机cmd窗口, ...

  3. Ubuntu物理机中解决VirtualBox虚拟机无法连接USB设备的问题

    本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=611 问题描述: 在安装完VirtualBox的USB控制器扩展(关于在VirtualBox中安装USB控制器扩展的 ...

  4. VMware 物理机可以复制文件到虚拟机,却无法从虚拟机复制文件到物理机(已解决)

    物理机运行,输入gpedit.msc确定,把如图的那个改成“已禁用” 之后虚拟机重新安装VMware Tool重启即可 事情是这样的,每次打开IDM会 “警告:您在以管理员身份运行IDM,在该模式下, ...

  5. 怎样调整XenServer下面Linux虚拟机的磁盘大小

    登录到XenServer. 修改虚拟机磁盘大小修改storage 磁盘大小 启动虚拟机 修改分区大小Hex code (type L to list codes): 8eChanged system ...

  6. linux虚拟机系统的复制或克隆后续问题解决!

    前言 加快创建hadoop或spark集群,方法有两种途径:克隆或复制.其实啊,我最近,再返回写下本博文,理清下思路. 比如,你在你的一台电脑里,安装虚拟机.已经搭建好了hadoop或spark集群. ...

  7. 物理机安装Kali Linux + Windows10双系统安装教程

    转自 https://www.linuxidc.com/Linux/2018-08/153429.htm 一.镜像下载: 根据需求下载自己需要的版本 从官网下载kali 2018.2 的安装包:htt ...

  8. linux 查看系统磁盘、内存大小

    1.磁盘 df -h cat /proc/partitions 2.内存 cat /proc/meminfo cat /proc/meminfo

  9. Linux虚拟机系统中进行redis的哨兵模式配置

    一.配置步骤 开一台虚拟机1.创建三个redis配置文件:/etc/redis下pidfile "/var/run/redis6380.pid" redis的id号port 638 ...

随机推荐

  1. 【Matlab】取整函数:fix/round/floor/ceil

    fix-向零方向取整.(向中间取整) round-向最近的方向取整.(四舍五入) floor-向负无穷大方向取整.(向下取整) ceil-向正无穷大方向取整.(向上取整)

  2. 「Spark从精通到重新入门(二)」Spark中不可不知的动态资源分配

    前言 资源是影响 Spark 应用执行效率的一个重要因素.Spark 应用中真正执行 task 的组件是 Executor,可以通过spark.executor.instances 指定 Spark ...

  3. mysql的事务详解

    事务及其ACID属性 事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性. 原子性(Atomicity) :事务是一个原子操作单元,其对数据的修改,要么全都执 ...

  4. Latex-安装_第一天

    LaTex安装 Windows 小知识: \(Tex\)来源technology,希腊词根是\(tex\),Latex应该读成"拉泰赫". https://miktex.org/ ...

  5. 【web】php文件包含(利用phpinfo)

    Docker搭建复现环境 地址:https://github.com/vulhub/vulhub/tree/master/php/inclusion ps. github单独下载一个文件夹的方法: 安 ...

  6. Redis篇:持久化、淘汰策略,缓存失效策略

    关注公众号,一起交流,微信搜一搜: 潜行前行 redis 持久化 redis 的数据是保存再系统内存里面的.持久化就是把内存的数据转移到磁盘中,redis 的持久化策略有两种:RDB.AOF RDB ...

  7. C语言程序与设计:统计素数并求和

    目录 C语言程序与设计:统计素数并求和 1.题目要求 2.分析 3.代码 C语言程序与设计:统计素数并求和 1.题目要求 输入两个正整数 m 和 n(1≤m≤n≤500),统计给定整数 m 和 n 区 ...

  8. 🏆【CI/CD技术专题】「Docker实战系列」(1)本地进行生成镜像以及标签Tag推送到DockerHub

    背景介绍 Docker镜像构建成功后,只要有docker环境就可以使用,但必须将镜像推送到Docker Hub上去.创建的镜像最好要符合Docker Hub的tag要求,因为在Docker Hub注册 ...

  9. 在eclipse打开jsp文件变成文本的解决:

    在eclipse打开jsp文件变成文本的解决: ------原因:可能是不小心删除某些组件等等一些操作 1,考虑一下是否还有插件jsp 编辑器组件 选择内部编辑器[在下面选择 JSP Editor]- ...

  10. Docker从入门到精通(八)——Docker Compose

    恭喜大家,学到这里,对于 docker 的基础玩法大家应该都会了,下面会介绍 docker的一些编排工具. 1.为什么需要 Docker Compose? 官网镇楼:https://www.runoo ...