The connection to the server X.X.X.X:6443 was refused

�步骤一:K8S集群节点异常重启后,再终端执行kubectl get nodes命令,出现报错dial tcp 10.200.18.100:6443: connect: connection refused。image.png
步骤二:通过docker ps -a可以看到api现在处于exit退出状态。
image.png
步骤三:查看apiserver服务容器的启动日志, 发现又出现报错Error while dialing dial tcp 127.0.0.1:2379: connect: connection refused,2379是etcd的端口,那么apiserver是由于etcd无法连接而启动不了。image.png
步骤四:接着查看etcd的启动日志,发现报错mvcc: cannot unmarshal event: proto: wrong wireType = 0 for field Key。经查询资料,此报错是由于服务器非正常关机(意外掉电,强制拔电)后 etcd数据损坏导致的,这个节点之前确实是出现异常关机,etcd无法启动,那么解决此问题就行了。
步骤五:按照指导进行操作,在故障节点上停止etcd服务并删除损坏的 etcd 数据,现在etcd服务本来就没有启动,删除前先备份数据,最后启动etcd服务。
注:容器的数据在/var/lib目录下,按照下图操作。
image.png6
步骤六:最后先启动etcd服务,然后启动api-server,执行kubectl get nodes后可以正常显示节点状态,问题解决。

E: Unable to locate package vim

1 问题介绍
在pod里面,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示:

  1. root@1b4671904bfa:/# apt-get install vim
  2. Reading package lists... Done
  3. Building dependency tree
  4. Reading state information... Done
  5. E: Unable to locate package vim

2 问题解决
2.1 配置国内镜像源
实际在使用过程中,运行 apt-get update,然后执行 apt-get install -y vim,下载地址由于是海外地址,下载速度异常慢而且可能中断更新流程,所以做下面配置:

  1. mv /etc/apt/sources.list /etc/apt/sources.list.bak
  2. echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list
  3. echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
  4. echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list
  5. echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list

2.2 执行更新和安装命令

apt-get update apt-get install -y vim