timzaak / blog

8 stars 1 forks source link

Rancher 2.x 实践 #46

Closed timzaak closed 4 years ago

timzaak commented 5 years ago

Rancher Pipline

基本概念: image jenkins 变成了受控器,无状态。这样账号管理等东西,就不需要重做了,但是相应的 jenkins 插件拓展,目前不确定在哪能用到。

整个控制在 rancher 中处理。 具体 pipeline 构建过程,从理念上感觉和 GoCD 差不多。基本上我可以放掉 GoCD了。

观看 视频 后,整个过程和 k8s 本身的分发能力紧密绑定。

目前保留 rancher pipeline 扩展能力的疑问🤔️(既然整个过程有部署 docker 镜像一说,那么在某一个 task 里将要做的事情和当前状态,发送到第三方服务中去即可)。

timzaak commented 5 years ago

这几天开始正式搞 k8s,复杂度十分的高。

需要自己去考量学习很多东西。

搭建出来的 k8s,还没怎么开始搞就崩了一次,需要 restore #19916。 另外如果机子上搭建过 k8s, 再次搭建事,需要跑 docker rm -f $(docker ps -a -q) && rm -fr /etc/kubernetes && rm -fr /var/lib/etcd && rm -fr /var/lib/rancher 清理掉以前搭建的痕迹才能再次搭建。

Rancher2 提供的监控方案,第一次因自己搞的存储错误而失败,删除并修复存储问题后,再次搞,Prometheus 相关 Pod 就再也没见到过,去除持久化存储也不行, 感觉脱离官方配置,自己基于 coreos/prometheus-operator 搭建会更靠谱一些。

日志收集,想要个轻量级的 fluent-bit/fluentd 的简易方案。

如果要使用 helm 的 charts,最好自行 安装 helm,脱离掉 Rancher,原因是在国内网络环境下,官方 helm charts 依赖 Google,要翻墙。也没找到适合国情的第三方 helm charts,目前最简单的解决方式是:

本地能翻墙, 然后本地跑 helm install ... 等 service 跑起来后,再通过 rancher 的升级功能,将镜像改成可访问到的。

备份/回滚: 暂未测试。

小结:以前对 rancher 2.x 的预期是能够快速搭建 k8s,快速实现监控+日志收集方案。现在看来,还是需要扎实的学习原生搭建 k8s,看管好 k8s 本身才可。对 Rancher 2 评估降级为比 Dashboards 好的 UI 操作平台 + k8s 平台快速搭建。至于 Global DNS 等,如果上云的话,我会用云平台提供的 k8s 集群(UCloud 没有类似 rke 的东西),所以不去测。如果流程化使用,在搭建完 k8s 后,直接围绕内部网络搭建 Helm charts 开展。

timzaak commented 5 years ago

K8S 日志收集目前想采用的方案是用 fluent-bit 作为 sidecar 来收集 Application 日志。 带来的除了资源消耗外,还有 Helm charts 等需要修改配置文件将 fluent-bit 塞进去,这个目前还可接受。 收集方式 Demo

但是 K8S master 服务的日志如何收集? 没有找到好的解决方案。

日志收集后,还要进行浏览分析,目前开源方案是 EFK, 但是怎么也得要个 2核8G内存100G的硬盘,这还不包含高可用。

所以打算用第三方服务,UCloud 没有,腾讯云在测试,所以锁定到阿里云,阿里云有500M/每月的免费额度,够基本使用。阿里云提供了 kubeup/fluent-bit-aliyun, 但两年未更新。可能需要拓展 jedisct1/flowgger 来实现

18

timzaak commented 4 years ago

由于 Rancher pipline 对接的 Git 有限定,所以直接用 Jenkins 来做,至于 JenkinsX 成本过高,暂不考虑。

timzaak commented 4 years ago

实际 Rancher 实践:云厂商k8s集群 + Rancher UI 操作。 相比于写 yaml 文件,和培训员工 k8s 概念, Rancher 节约了大量的认知开销。目前初级程序员,也能简单部署应用服务了。

timzaak commented 11 months ago

现在云厂商提供的 k8s UI 界面越来越够用了,一线的貌似不再需要 Rancher UI。云厂商做的无节点k8s集群,不支持 Rancher, 我实验了几个都失败了。