Rancher管理k8s集群

发布时间:2020-05-29 09:20:48编辑:admin阅读(3217)

    一、概述

    Rancher和k8s都是用来作为容器的调度与编排系统。但是rancher不仅能够管理应用容器,更重要的一点是能够管理k8s集群。Rancher2.x底层基于k8s调度引擎,通过Rancher的封装,用户可以在不熟悉k8s概念的情况下轻松的通过Rancher来部署容器到k8s集群当中。

    为实现上述的功能,Rancher自身提供了一套完整的用于管理k8s的组件,包括Rancher API Server, Cluster Controller, Cluster Agent, Node Agent等等。组件相互协作使得Rancher能够掌控每个k8s集群,从而将多集群的管理和使用整合在统一的Rancher平台中。Rancher增强了一些k8s的功能,并提供了面向用户友好的使用方式。


    k8s虽然有dashboard,但是功能没有Rancher强大。因此,企业内部,可以用Rancher来管理k8s集群。

     

    所以总结一下,两者的关系是Rancher对k8s进行了功能的拓展与实现了和k8s集群交互的一些便捷工具,包括执行命令行,管理多个 k8s集群,查看k8s集群节点的运行状态等等。

    二、安装Rancher

    版本选择

    Rancher有分为v1和v2版本,都是提供容器调度与编排,不同之处在于在k8s盛行之前有许多人都搞过容器编排,所以rancher v1上会有几种不同的编排模式,例如cattle ,swarm,kubernetes。从这里可以看出Rahcner v1时代,它给自己的定位是各种编排工具的上层,也就是k8s的上层,然后你再通过它去管理k8s。

    因为k8s后来发展得势不可挡,所以Rancher v2应运而生,移除了其他类型的编排工具,只剩下k8s。


    v1版本的dockerhub地址:

    https://hub.docker.com/r/rancher/server

     

    v2版本的dockerhub地址:

    https://hub.docker.com/r/rancher/rancher/

     

    本文采用的v2版本,下载命令为:

    docker pull rancher/rancher:stable

    这里下载的是稳定版本

     

    环境介绍

    系统k8s版本dockerip主机名配置
    centos 7.61.18.119.03.510.212.20.94 k8s-master2核4G 
    centos 7.61.18.119.03.510.212.20.240k8s-node012核4G
    centos 7.619.03.510.212.20.213rancher-master2核4G

     

     

     

     

     

     

     

     

    注意:rancher是一台单独的服务器,不在k8s集群里面。

    关于k8s 1.18.1请参考链接:

    https://www.cnblogs.com/xiao987334176/p/12696740.html

     

     

    安装Rancher

    docker run -d --restart=always --name rancher -p 80:80 -p 443:443 rancher/rancher:stable

     

    查看日志

    # docker logs -f rancher

    等待几分钟,没有日志输出了,表示已经启动好了。

     

    访问页面

    https://10.212.20.213

     注意:这里必须要用http。即使你用http访问,它还是会强制跳转到https

     

    第一次访问时,显示的是英文。提示默认的admin密码不安装,需要设置一个复杂性密码。

    1.png

     

     

    这里直接默认了,如果你需要使用域名方式,请根据实际情况更改。

     1.png

     

    切换中文

     登录之后,点击右下角的语言。默认是英文

    1.png

     

     

    切换为中文

     1.png

     

    三、导入k8s集群

    注意:已经有一个k8s集群了,只需要导入即可。

     

    添加集群

    1.png

     

     

    选择导入

    1.png

     

    输入test,点击导入

     1.png

     

     这里选择最后一个,因为我是ip方式访问的,https访问是不受信任的。注意:自签证书,也是不受信任的。

    只有花钱购买的证书,才是受信任的,可以选择中间的那个。

     1.png

     

     登录k8s-master主机,执行命令:

    curl --insecure -sfL https://10.212.20.213/v3/import/xxpv9dfjtkfwcxcmh475khx2mcscs6mfhmqmbznbkcrf2mkq77l5nm.yaml | kubectl apply -f -

     

    等待几分钟,查看pod

    # kubectl get pods -n cattle-system
    NAME                                   READY   STATUS    RESTARTS   AGE
    cattle-cluster-agent-bf7cbffdd-rqmmw   1/1     Running   0          18s
    cattle-node-agent-8fnsq                1/1     Running   0          5s
    cattle-node-agent-bqrk9                1/1     Running   0          15s
    确保状态为Running

     

    点击集群,确保状态为Active

    1.png

     

     点击集群test,效果如下:

    1.png

     

     点击导航栏的主机,效果如下:

    1.png

     

     

     本文就介绍到这里了,其他功能,请参考中文文档。

     https://rancher2.docs.rancher.cn/

     

    本文参考链接:

    https://www.zhihu.com/question/309076492/answer/579260940


关键字