COSCUP 2024

Adaptive Cluster - Kubernetes Operator 5W1H
2024-08-03, 15:30–16:00 (Asia/Taipei), TR212

Kubernetes 提供了各式各樣編排元件的方法,同時也提供了各種介面來控制其編排元件的邏輯。本議程將介紹 Kubernetes operator 的概念,簡介其使用方式與運作原理,比較各種實作方案,並在瞭解其技術意義的同時進而評估採用此技術的業務風險。


本議程旨在介紹 Kubernetes operator,解釋其用途與實作方案,包括但不限於 Redhat Operator SDK。

  • 何謂 Kubernetes Operator,它究竟是什麼概念?它用來解決什麼技術問題? (5min)
  • 粗略介紹實作 Operator 的可能方法,包括 Redhat Operator SDK 中的 Ansible / Go framework,甚至是 Java with Fabric 8,更能衍伸至其他語言實作 (10min)
  • 比較不同實作方法的優缺點,實作之後到上線前的驗證手段,同時從技術層面概覽 Kubernetes informer 的運作方法 (10min)
  • 最後討論在什麼樣的團隊業務需求之下才需要真正動手寫 operator,並該用什麼方針或心態選擇議程中介紹過的實作方案 (5min)

本議程所涉及的開源技術與社群主要包括 Kubernete 生態,包括利用 Helm 協助管理套裝元件的使用者,與實際用 Go 或其他語言介接 Kubernetes API 的進階使用者,所瞄準的受眾包括:

  • 一般 micro service 開發者與維運者,例如 backend developer 或 devops:具有一定開發經驗,需要或已經正在使用服務叢集編排服務。對於此類受眾,可以瞭解 Kubernetes 的 resource 動態狀態互動手段與大略架構。
  • 在商業上參與 micro service cluster 架構設計者,例如 tech lead 或 architect:除開發經驗外,對於產品實現手段有決策責任。這些受眾在採用技術時必須同時考量正反面效果,除了理解此技術能協助產品得到哪些額外好處的同時,也能理解採用時需要考量的團隊能力背景需求,以及所帶來的開發維護成本。
  • 由於本議程除了介紹 Redhat 用 Ansible/Go/Helm 所實作的 Operator SDK,也包含講者實際以 Java Fabric 8 實作 operator 的開發經驗,因此也可以滿足跨語言技術比較者的好奇心。

本議程主要參考資料包括:

Senior system and backend developer, interested on lower level system behavior.

@coldturnip@g0v.social
https://rfns.io/about