###rancher作用
云平台套件是一个部署,升级,支持节点增删功能的k8s
集群部署维护的工具;并且在第三方插件目录中提供监控,日志,共享存储,备份功能模块;提供对应用市场,持续集成与持续部署模块的开源的组件集成支撑。它缺乏统一界面管理所部署的集群,不提供多租户功能。
云平台套件与rancher
集成,可以提供以下优点。
使用rancher
可以导入使用云平台套件部署的多个集群,进行统一界面的多集群编排容器管理。并且集群升级,节点增删功能仍然由云平台套件管理。
使用rancher
可以与云平台套件部署的harbor
集成,配置harbor
作为默认的镜像仓库,支持离线化管理rancher
所有的系统组件镜像。
使用rancher
可以与gitlab
集成,配置默认的helm charts
仓库地址,支持离线化使用应用市场功能和简单的基于jinkens
的pipeline
功能。
使用rancher
可以对多个集群提供多租户管理功能。
使用rancher
可以配置自带的监控模块,监控数据深度与界面 UI
集成,查看监控数据简单,美观,并且提供据直达grafana
该指标数界面的链接。
使用rancher
可以配置自带的日志模块,把收集的容器日志存放到用户指定外部elasticsearch
。
使用rancher
提供中文界面支持。
###rancher安装
安装包rancher.tar.gz
通过ansible
自动化安装。
安装前提条件:云平台套件rong
已经部署harbor
仓库和bind9
服务。
1、配置使用任一安装了docker
并且可以域名访问harbor
仓库的机器作为目标部署节点(默认使用8081:80,8043:443
端口映射,如遇端口冲突,可以修改配置)。
2、运行ansible
命令执行安装
tar -zxvf rancher.tar.gz
cd rancher
ansible-playbook -i hosts.ini rancher.yaml
###rancher卸载
卸载rancher
只要删除运行的rancher-server
容器和它对应的持久化卷目录
在目标节点上执行以下命令卸载rancher
docker stop rancher-server && docker rm rancher-server
rm -rf /mnt/rancher-etcd /root/var
###rancher配置gitlab(默认系统charts仓库)
默认登录界面为https://hostip:8043
,登录后首先配置admin
用户密码和server url
。
配置完成后,进入rancher
主界面。
点击菜单tools
选择catalog
,配置系统charts
仓库。
离线环境下,默认的catalog url
无法访问,使用内网gitlab
来保存外网导入的catalog url
项目。
配置系统charts
仓库完成后,可以发现警告信息解除。
系统charts
仓库保存rancher
自带的监控,日志等chart
。
###rancher导入已存在的kubespray部署的k8s集群
参考网址: https://www.cnrancher.com/docs/rancher/v2.x/en/cluster-provisioning/imported-clusters/
导入集群步骤:
1、点击按钮Add cluster
选择Import
,并命名导入的集群。
2、点击Create
后,到添加集群帮助面板,按照指示,首先在待加入的集群创建一个clusterrolebinding
。
kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user kubernetes-admin
在目标集群导入rancher
的插件。
curl --insecure -sfL https://192.168.124.161:8043/v3/import/kgvnjf8hkvz8kjhm8g6p6wbbf2hwqv55bjdhsxzvqt6j627wkkkrdm.yaml | kubectl apply -f -
3、点击Done
完成集群导入。
当待导入集群上rancher
插件运行起来时,面板上的新导入集群则处于actived
状态。
进入导入的集群首页。
###rancher监控与日志导入到es
进入导入的集群首页后,选择菜单Tools
下的Monitor
,启用集群级别监控。
使用默认的配置,或者调整参数后,点击Enable Monitoring
。
启动监控后,会在目标集群运行rancher
监控的组件。
启动监控后,进入集群的首页,会发现集群的指标信息更详细,并且每个指标有直达grafana
页面的链接。
进入导入的集群首页后,选择菜单Tools
下的Logging
,可以把集群的日志导入到外部的es
集群中。
###rancher试用应用市场
进入目标集群的default
项目下,首页是导入集群中已运行的容器,rancher
称之为workload
。
点击Apps
面板,进入应用市场。
首先进入Manage Catalogs
配置helm chart
的url
。
把外网的helm chart
项目移动到内网gitlab
项目。
配置内网可以访问的helm chart
的url
。
回到Apps
面板,点击Launch
按钮,可以选择已同步的chart
模板部署应用。
###rancher结合gitlab试用pipeline
进入目标集群的default
项目下,选择Tools
下的Pipeline
菜单,进入配置源码管理工具的配置。
按照指示,配置关联的gitlab
。
把信息填入rancher
。
配置完成,会看到所有gitlab
项目的显示。
启用一个项目的pipeline
。
在workload
面板下的Popelines
可以看到该项目的持续集成与持续部署过程。
在rancher
运行的pipeline
项目,必须存在.rancher-pipeline.yml或者.rancher-pipeline.yaml
文件,可选的dockerfile,deployment.yaml
文件满足构建镜像和在k8s
集群部署yaml
文件格式。
###rancher试用容器编排功能
有两种创建workload
的方式,通过UI
配置和通过yaml
文件创建。
通过yaml
文件创建,是上传文件,选择namespace
进行创建。
通过UI
配置各项参数部署,例如部署一个名为testnginx
的nginx
应用。
部署完成后,可以在workloads
面板查看。
###rancher多集群应用创建
在rancher
主页的多集群应用面板,以应用市场的方式部署应用到一个或多个集群。
例如,在三个目标项目部署同一个应用。
###rancher多租户管理
在rancher
主页的用户面板,创建和管理用户。
用户的权限配置有4种。
新建的用户登录后可以创建自己的项目,创建后,项目则与用户绑定。资源的限制与具体项目相关,与用户无关。
新建项目的主页如下,开始时没有任何工作负载。