1.k8s集群重启后,kubelet打不开:
原因:没有设置开机关闭swap,需要进行如下步骤:
vim /etc/fstab
将这句话注释掉
此后,如果输入:free -m出现:
则说明修改成功;
2.没有为虚拟机设置静态ip,从而导致集群节点的ip与之前设置的不一致,最直接的结果就是:api-server无法访问(ip还是旧的)
解决方案:
- 修改/etc/kubernetes/文件夹里的*.conf文件,把这些文件中有旧的ip的地方全部替换成你的新的IP;
- 修改$HOME/ .kube/config文件,操作同上;
- 进入$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=""