【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
配置
- 关闭防火墙 有效减少部署中的各种坑,尽量在外部使用防火墙而不是内部。
- 时区设置 统一的时间对于分布式系统很重要。
- 网络配置 提供网络稳定性。
- Docker源镜像 阿里云能够有效提升速度。
- rancher用户 ubuntu系统可以使用root,方便后来各种系统问题排查。
- docker镜像配置 国内特色。
rancher 系统初步探秘
- rancher镜像的入口脚本,它启动了3个命令。 它启动了一个etcd数据库,当作整个系统的服务发现,存储信息来用。一个rancher面板服务,提供http的可视化。外加一个k3s server ,当作ranhce的后台逻辑处理。从这里来看,k3s是用来引出创建集群,加入集群,验证等后台功能。
- tini的容器系统初始化程序。这个是专用于容器,提供例如后台进程保持、进程监控等功能。这个是一个比价小巧且实用的程序。
rancher cli命令
- 它可以替代webUI来管理和使用整个rancher平台
- 这样子就给了所有语言一种间件操作平台的可能,为扩展,定制工具以及定制流程等,提供丰富的可能性。很多自定义的专用流程就可以利用这个来编排。
- 缺点是并没有改变rancher本身,只是一种定制化的脚本。
rancher 功能列表 由于功能丰富自己做了一个图表
- 容器功能已经涵盖了所有的日常使用的功能,甚至是比较高级的功能。
- 系统功能包含rancher本身的运维日志,并且额外添加了CI/CD功能,搭配上商店和镜像库,这样子就完成了持续集成的环境。
- 集群功能更是完成了无限扩展的能力。使得系统在遇见瓶颈时无限扩张的可能。
- 独特的api服务能力,使用http请求,也可以编排自己的系统。甚至是定制一个我们自己定制的界面给专用用户。
- 能够与k8s现有服务器交互,无缝加入其他集群或者让其他集群的机器加入rancher中。
总结
由于目标是定制化rancher,比使用rancher更难。现在总结发现有几种办法。
- 源码级修改。最彻底,扩展性最高,难度也最高。rancher是完全开源,提供了几乎100%的扩展修改可能性。但是太难了。初步研究过,有这么几点困难点。语言困难,架构细节,与k8s交互细节,打包之后的编排细节。
- 基于rancher cli,可以制作一定的定制话。通常可以是一种固定的流程式任务。比如定时处理的功能。
- 基于rancher api server, 可以制作比较细粒度的自定义。这种我觉得,触发流程可能来自于原来系统内部,然后需要rancher做一些反应。比如持续交付。
- 研读rancher server端,也可以成为一种,比第一种整体源码难度要小,但是,修改之后,镜像制作,怎么嵌入到rancher内部。这些额外的问题,难度也不小。
总体来说,使用rancher来二次开发,是存在可能性,而且未来可期。专用化的定制需求也尤为有效,官方专版,我们基于各种扩展点机型扩展与定义。
来源:oschina
链接:https://my.oschina.net/snakevash123/blog/3142248