• 关于使用rancher部署k8s集群的一些小问题的解决


    问题一:

      在rancher的ui上,不能创建k8s的master节点的高可用集群。创建k8s集群,添加节点的时候,可以添加多个master,但是多个master又没有高可用,只要其中一个出问题了,那么整个集群就垮了。本想着自己来改配置,但是集群是使用docker启动组件,配置复杂繁琐,不太懂rancher组织集群的原理,个人能力有限等原因,只好找寻其他解决方案。

      解决方法:在多个master情况下,其中一个master节点出毛病了,只需要在rancherUI上删掉这个节点就行了(以前不太了解,master出问题了,不敢删),rancher会自动update这个集群,使之master正常。目前只知道这个方法,由于这样业务中断耗时会比高可用多一点点,所以要做好主机监控。

     

    问题二:

      使用rancher添加master节点时,选择了全部角色(不完美的操作,如果master节点资源丰富就可以完全忽略这个问题了)。master是集群里重要的一个角色,如果一个master既做管理节点,又做业务节点,会对节点主机资源占用过多,而容易导致master节点出问题的几率增大。让master节点只做管理任务,要么取消它的worker角色,要么就禁止pod等资源进入到这个节点。

      rancher上可以编辑集群中的节点,然而,只能更新这个节点的标签,即使删掉worker这个标签,也无法去掉master节点的worker角色。

      解决方法:这种情况就不在rancher操作了,在k8s上有两个维护命令cordon、uncordon,是设置节点不可调度和取消节点不可调度,一般是用于节点出现问题时维护使用的。

    kubectl cordon master1
    kubectl uncordon master1

      设置不可调度后,k8s的pod都将不会再调度到此节点上。

    问题三:

      清除节点服务器:

    df -h | grep kubelet | awk -F % '{print $2}' | xargs umount
    rm /var/lib/kubelet/* -rf
    rm /etc/kubernetes/* -rf
    rm /etc/cni/* -rf
    rm /var/lib/rancher/* -rf
    rm /var/lib/etcd/* -rf
    rm /var/lib/cni/* -rf
    rm /opt/cni/* -rf 
    (ip link del flannel.1)
    (ip link del cni0)
    (iptables -F && iptables -t nat -F)
    docker ps -a|grep -v gitlab|awk '{print $1}'|xargs docker rm -f
    docker volume ls|awk '{print $2}'|xargs docker volume rm
    systemctl restart docker
  • 相关阅读:
    Mysql索引查询失效的情况
    常用的设计模式
    dubbo的实现原理
    HashMap和HashTable的区别
    SpringMVC工作原理的介绍
    SpringMVC 基础内容及使用步骤
    BeanFactory和ApplicationContext的区别+部分Spring的使用
    Spring常用的jar+普通构造注入
    如何在CentOS7上安装MySQL并实现远程访问
    如何搭建Spring MVC 框架---Hello World
  • 原文地址:https://www.cnblogs.com/chy-op/p/10451913.html
Copyright © 2020-2023  润新知