隨著部屬在 Kubernetes 的 service 越來越多,就會產生越來越多的 YAML 檔,可能會導致管理 Kubernetes 變得更加困難,若要同時兼顧不同環境的話更是難上加難。如果不想成為 YAML 工程師,也不想花時間學習新 DSL 的話,何不善用現成的 JavaScript?使用 JavaScript 能夠更加容易重複利用組件,有各種開箱即用的 library,以及更完善的 IDE 支援。
Kosko 是一個用 JavaScript 來管理 Kubernetes YAML 檔的工具,能透過 Kubernetes OpenAPI spec 來驗證 YAML,讓使用者在部屬到 Kubernetes 之前就能及早發現問題;除此之外,還支援多環境部屬,讓使用者不需要 copy & paste,就能把服務同時部屬到不同環境上。
我會分享當初 Kosko 的開發背景,以及 Dcard 管理 Kubernetes YAML 的方法。
About 陳嘉輝
目前在 Dcard 擔任 Architect,一開始寫前端,後來開始接觸後端和 DevOps,最近轉變為前端 8:後端 2 的雜食性工程師。
GitHub: https://github.com/tommy351/