Rancher管理k8s集群
一、概述
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
版本选择
Rancher有分为v1和v2版本,都是提供容器调度与编排,不同之处在于在k8s盛行之前有许多人都搞过容器编排,所以rancher v1上会有几种不同的编排模式,例如cattle ,swarm,kubernetes。从这里可以看出Rahcner v1时代,它给自己的定位是各种编排工具的上层,也就是k8s的上层,然后你再通过它去管理k8s。
因为k8s后来发展得势不可挡,所以Rancher v2应运而生,移除了其他类型的编排工具,只剩下k8s。
v1版本的dockerhub地址:
docker pull rancher/rancher:stable
这里下载的是稳定版本
环境介绍
系统 | k8s版本 | docker | ip | 主机名 | 配置 |
centos 7.6 | 1.18.1 | 19.03.5 | 10.212.20.94 | k8s-master | 2核4G |
centos 7.6 | 1.18.1 | 19.03.5 | 10.212.20.240 | k8s-node01 | 2核4G |
centos 7.6 | 无 | 19.03.5 | 10.212.20.213 | rancher-master | 2核4G |
安装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密码不安装,需要设置一个复杂性密码。
这里直接默认了,如果你需要使用域名方式,请根据实际情况更改。
切换中文
登录之后,点击右下角的语言。默认是英文
切换为中文
三、导入k8s集群
注意:已经有一个k8s集群了,只需要导入即可。
添加集群
选择导入
输入test,点击导入
这里选择最后一个,因为我是ip方式访问的,https访问是不受信任的。注意:自签证书,也是不受信任的。
只有花钱购买的证书,才是受信任的,可以选择中间的那个。
登录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
点击集群test,效果如下:
点击导航栏的主机,效果如下:
本文就介绍到这里了,其他功能,请参考中文文档。