解决重启搭建好k8s集群的虚拟机后遇到的问题

1.k8s集群重启后,kubelet打不开:

         

         原因:没有设置开机关闭swap,需要进行如下步骤:

          vim /etc/fstab

                 

        将这句话注释掉

       此后,如果输入:free -m出现:

        

       则说明修改成功;

2.没有为虚拟机设置静态ip,从而导致集群节点的ip与之前设置的不一致,最直接的结果就是:api-server无法访问(ip还是旧的)

解决方案:

  1. 修改/etc/kubernetes/文件夹里的*.conf文件,把这些文件中有旧的ip的地方全部替换成你的新的IP;
  2. 修改$HOME/ .kube/config文件,操作同上;
  3. 进入$HOME/ .kube/cache/discovery/,这里会有一个文件夹,名字为“旧的ip地址_6443”,把这个文件夹的名字改成新的ip;

(此时,如果重新执行kubectl get nodes,将会得到如下报错:)

     

     执行如下命令(root用户):export KUBECONFIG=/etc/kubernetes/admin.conf

3.如果在添加节点时忘记了添加节点的命令:

     运行:kubeadm token create --print-join-command --ttl 0

4.为了防止节点的ip被动态分配,需要配置静态ip:

     运行:sudo vim /etc/network/interfaces

     修改如下(下面的括号不用敲~):

     auto enp0s3 inet static (这里原来是dhcp)

     address (虚拟机当前分配的ip)

     netmask (宿主机的子网掩码)

     gateway (宿主机的默认网关)

     dns-nameservers 8.8.8.8

     保存后, 执行:service networking restart

5.注意,出于安全考虑,默认配置下,k8s不会将Pod调度到Master节点,如果希望将k8s-master也当做Node使用,可以执行如下命令:

     kubectl taint node k8s-master node-role.kubernetes.io/master-

     如果要让主节点恢复Master Only状态,执行如下命令:

     kubectl taint node k8s-master node-role.kubernetes.io/master=""

发布了28 篇原创文章 · 获赞 6 · 访问量 2463

猜你喜欢

转载自blog.csdn.net/Kobe_1314/article/details/102154303