美文网首页我的微服务
使用Rancher配置K8s集群

使用Rancher配置K8s集群

作者: 野生DBNull | 来源:发表于2020-04-13 09:30 被阅读0次

    1.选择原因

    在K8s选型的时候对比过 KubeOperator,OpenShift,Rancher,裸金属

    1. 裸金属 搭建比较费劲,维护比较费劲
    2. OpenShift 比较重
    3. KubeOperator 给百度交了广告费 ,感觉不靠谱 (不喜勿喷,就这么随意)
    4. Rancher 安装和使用很简单

    让我这半吊子运维觉得安装和使用都很简单,我很难拒绝这一部分,就选择它了。

    2. Rancher介绍

    Run Kubernetes Everywhere
    From datacenter to cloud to edge, Rancher lets you deliver Kubernetes-as-a-Service.

    有兴趣可以去官网看看介绍,我懒得复制粘贴了。

    3. 安装Rancher2.0

    这是一台K8s集群管理机器,建议找一台不要加入集群的机器,当然你也可以不采纳我的建议,这台机器配置无需太高,推荐4C8G的机器,条件不允许的话也可以更低

    $ sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher
    

    对的,你没看错,就这么一句话。
    等这个运行好了就直接进入 https://NodeIP 就可以安装指引配置管理员账号和密码啥的。
    这里要注意的就是在填写IP的时候一定要填写正确

    4.构建K8s集群

    image.png

    你可以导入一个已有的集群,也可以创建下面的任意托管集群,或者自定义集群,这里我是自己的机器所以选的自定义。

    image.png

    你也可以看着下面的参数去进行配置,没啥需要注意的按照中文走就完事了。


    image.png

    这里的高级选项的话授权集群访问地址选择禁用,你可以按照你的需要去勾选。端口地址这里不建议修改,因为要开防火墙的端口,搞起来比较麻烦。
    我这里这里填写一个名字就完事了,然后点击下一步。


    image.png
    注意:这里的高级选项要点开,去配置内网地址和节点名称,不然会出现稀奇古怪的问题

    这里有三个主机角色 Etcd,Control,Worker
    Etcd 是负责存储的
    Control 是控制器
    Worker 是工作节点
    这里Rancher官网的HA部署建议是任意一台加入集群的机器都勾选三个角色,但是我不接受他的建议
    裸金属搭建K8s的经验告诉我,Master就是Etcd,Control,Node就是Worker 所以我选择 Etcd,Control放在一起,Worker单独放。我这里这里小集群的话Etcd和Control放在一台机器上面。建议将稳定性高的机器做为Master因为这台机器只要求稳定性,Pod调度默认也不会调度到这台机器上,对性能要求没有Worker高。有钱的话忽略这一段。

    注意:在将机器加入集群之前先将端口号开放才行,不然集群不会正常运行
    Rancher-Server(也就是你装Rancher那台机器)

    firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --zone=public --add-port=443/tcp --permanent
    firewall-cmd --zone=public --add-port=6443/tcp --permanent
    
    # 如果你的22没有开放的话也是需要开放的
    # firewall-cmd --zone=public --add-port=22/tcp --permanent
    

    Etcd

    firewall-cmd --zone=public --add-port=2079-2380/tcp --permanent
    firewall-cmd --zone=public --add-port=10250/tcp --permanent
    firewall-cmd --zone=public --add-port=443/tcp --permanent
    firewall-cmd --zone=public --add-port=6443/tcp --permanent
    firewall-cmd --zone=public --add-port=8472/udp --permanent #注意这里是udp的
    firewall-cmd --reload
    

    Control

    firewall-cmd --zone=public --add-port=2079-2380/tcp --permanent
    firewall-cmd --zone=public --add-port=10250/tcp --permanent
    firewall-cmd --zone=public --add-port=443/tcp --permanent
    firewall-cmd --zone=public --add-port=6443/tcp --permanent
    firewall-cmd --zone=public --add-port=8472/udp --permanent #注意这里是udp的
    
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --zone=public --add-port=30000-32767/tcp --permanent
    firewall-cmd --reload
    

    Worker

    firewall-cmd --zone=public --add-port=10250/tcp --permanent
    firewall-cmd --zone=public --add-port=443/tcp --permanent
    firewall-cmd --zone=public --add-port=6443/tcp --permanent
    firewall-cmd --zone=public --add-port=8472/udp --permanent #注意这里是udp的
    
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --zone=public --add-port=30000-32767/tcp --permanent
    firewall-cmd --reload
    

    端口开放后再执行加入命令就完事了

    这里要注意先加入Master再加入Worker(虽然不知道是为啥,但是反正就是要这样做)。
    image.png

    执行完毕后应该会启动一个代理的镜像


    image.png

    这个镜像等下集群启动起来后会自动删除的,不用在意。如果你想查看进度就可以执行下面的代码查看日志

    $ docker logs 314ee0d78cdb
    
    image.png

    全部机器执行完毕后就等就好了,这个镜像有一个多G,慢慢等吧。
    等机器的机器起来后就应该可以看到这样的界面

    image.png

    然后你的Rancher集群就搭建完毕了。

    友情链接 使用jenkins 将应用持续集成到Rancher集群中

    相关文章

      网友评论

        本文标题:使用Rancher配置K8s集群

        本文链接:https://www.haomeiwen.com/subject/woiumhtx.html