大戰 K8s
· 3 min read
今天早上看到了這篇文章,之後我就發現到我現在的架構其實有點混亂,而且我之前就一直很想要對我的 K8s 文件做版控,所以一回到家就下定決心來好好的改一改。
我自架的服務真的有點多,在最以前我是全部寫在一個 docker-compose,所以曾經有將近一千行的 compose 檔。
後來我就發現到 k8s,主要是因為個人使用不需要一些高級功能,想要玩自架的我最推薦的是 k8s 的變體 k3s,因為非常輕量。
在改進前我是用一個資料夾把 deployment、service 等等的檔案包在一個資料夾,之後再用一個大資料夾來分類不同的服務這樣,其實這樣要做版控也是可以,就在最外層用 Git 就行了。
但看完文章之後我就發現到我不想要滿足於此,特別是我看到可以 GitOps,會自動去更新我就很心動,所以今天就開始動手做。
如果你也想要玩玩看,大概要抓 10 ~ 20 小時的時間,因為過程中會遇到一堆問題,還有一點就是要一直學習新的東西。
像 Helm 跟 Ingress controller 我之前就一直不學,今天也是被迫學會了,花了超多時間在這兩個上面。但用完真的很方便,現在我只要在 GitHub 上更新,就會自動更新到服務了,這部分我是用文章內的 Argo CD 做的,UI/UX 都很好,非常的好用。
如果你的服務超過 10 個以上,真的就要考慮一下上 K8s 了,管理起來真的方便非常多!我應該不會再出教學,因為網路上的資源夠多了,真的很推薦大家有空去試試。
這次學到的東西有 Helm、K8s 的 Ingress controller、cert-manager、Argo cd,今天真的超級充實的。