说起来这rancho玩意儿,一开始我也是稀里糊涂的。那时候手头有个小活儿,几个服务跑来跑去的,用Docker直接管起来特别麻烦,老得出错。听人说用这东西能把容器啥的管起来,省不少事儿,就想着自己捣鼓捣鼓看,看看到底有多神。
上手试试
我就找了个闲置的破机器,想着先装个单机版的试试水。这第一步,就是装那个Docker环境。这玩意儿倒是挺顺溜,网上教程多,跟着敲命令,没费啥劲儿就装好了。
装完Docker,接下来就是跑那个rancho的容器命令了。官网给的命令挺长一串,直接复制粘贴,回车。看着命令行里刷刷刷跑过去一堆日志,心里还挺美,觉得这不挺简单的嘛比想象中容易多了。
等了好一会儿,看日志好像是启动成功了。我就赶紧打开浏览器,输入那台破机器的IP地址。还真出来了登录界面!设置了个密码,进去了。当时那个激动,感觉自己马上就能驾驭这高大上的东西了。
遇到麻烦了
但是,高兴没几分钟,问题就来了。我这随便弄弄,也没搞啥正经的证书。浏览器就一直提示不安全,点个“高级”再点“继续前往”,每次都得来一遍,看着就闹心。想着先不管它,能用就行。
进去之后,界面倒是挺花哨,各种按钮图标。我想着把之前那几个乱跑的服务给挪进来。这就得先加个“集群”才能部署东西。看文档说可以导入现有的,也可以让它自己创建。我这啥都没有,就选了自己创建,毕竟手头没现成的啥K8s集群。
然后就傻眼了。它让我填一堆东西,什么节点角色,什么云提供商。我这就在一台破机器上跑,哪有云。选了个“自定义”模式,然后又是一堆命令,让我在要加入的节点上运行。
最坑的是,我这明明是单机版,理论上它自己就应该是个管理节点加工作节点了?它还让我手动添加节点。我寻思着,难道单机版自己不能算一个节点吗?捣鼓了半天,把那个生成的注册命令在自己这台机器上又跑了一遍。跑是跑通了,命令执行也没报错,但界面上那个集群状态就一直卡在“Provisioning”或者“Waiting”啥的,死活不变绿,等了好久都没用。
瞎折腾与解决
这时候就有点烦躁了。网上搜了一圈,国内国外论坛翻了个遍,各种说法都有。有的说网络问题,检查防火墙端口;有的说配置问题,启动参数不对;还有的说我那破机器性能太差,带不动。
我就开始瞎折腾:
- 检查防火墙,把文档里提到的端口一个个确认都开了。开了。
- 看看机器资源,用`top`命令看了下,CPU内存好像也还够用,没跑满。
- 重启Docker服务,重启rancho容器,甚至重启了整台机器。都没用。
折腾来折腾去,还是那个鬼样子,集群就是激活不了。咋解决的?说出来都觉得有点丢人。是我之前跑那个rancho启动命令的时候,官网文档提到了单节点安装的一些注意事项和推荐的参数,我当时直接复制的基础命令,没仔细看那些说明。特别是关于服务器地址和节点地址的配置,还有一些特权模式啥的。
我把原来的容器彻底删了,相关的什么数据目录也清了清,老老实实,这回是真老实了,对着官方文档那个单节点安装的部分,又仔细看了一遍参数说明,把推荐的参数都加上,重新跑了一次启动命令。这回特别注意了端口映射和那个`--privileged`之类的参数。
跑起来之后,再进界面,用它生成的那个节点注册命令在本机跑一遍。没过一会儿,界面上那个集群状态终于变成绿色的“Active”了!那一刻真是,感觉之前的几个小时的折腾和烦躁都值了。
一点感想
虽然搞定了,但也确实费了不少劲。感觉这rancho,看着挺美功能也多,真自己从头弄起来,坑还是不少的。特别是对网络、权限这些细节要求比较高,文档有时候写得也不是那么直白给力,得多动手试,多踩踩坑,还得结合自己的环境去理解才行。
不过跑起来之后,管理那几个小服务确实方便多了,点点鼠标就能部署、伸缩、看日志,比以前敲命令方便不是一点半点。这玩意儿对付小规模或者学习、测试环境还行,真要搞大的生产环境,估计还得花更多时间去研究那些复杂的配置、高可用和最佳实践。反正我这回是折腾明白了,下次再弄心里就有底了,起码知道坑在哪儿。
还没有评论,来说两句吧...