阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

63 個專案實戰,寫出作品集,讓面試官眼前一亮!

立即開始免費試讀!

*Helm 很棒…

…直到你把它交給開發人員。 *

事實上,Helm 是為了解 Kubernetes 的人設計的。身為 DevOps 工程師,您可以定義複雜的部署、管理特定於環境的配置並使用範本重複使用邏輯。美麗的。

但對於大多數開發人員來說,Helm 圖表只是令人困惑。 Helm 假設開發人員具有一定程度的 Kubernetes 熟練程度,但許多開發人員根本不具備。沒關係。他們應該專注於製造和運輸產品,而不是擔心底層基礎設施。

然而,這會造成摩擦,因為開發人員過度依賴 DevOps 工程師進行每一個小的更改和部署。

Helm很棒,但作為使用者介面卻不行。

但讓我們修復它!在這篇文章中,我將向您展示如何將任何Helm 圖表轉換為您的開發人員(甚至非技術人員)可以實際使用的簡單 UI。它不會超過5分鐘。

預備,開始⏳

#1 獨眼巨人👁️

Cyclops是一個開源工具,可讓您從 Helm 圖表建立內部開發平台。基本上,你會匯入一個 Helm 圖表,然後Cyclops 就會根據它輸出一個 UI

從那裡,開發人員可以使用此 UI 來配置、部署和管理在 Kubernetes 叢集中執行的應用程式。

設定很簡單,只需兩個命令即可開始。您可以在我們的網頁或存儲庫中找到它,但我也將它放在這裡以方便存取:

kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.18.2/install/cyclops-install.yaml && 
kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.18.2/install/demo-templates.yaml

要存取 cyclops-ui,您只需轉發其服務的端口,但對於生產用途,您可以透過入口或負載平衡器公開它。

kubectl port-forward svc/cyclops-ui -n cyclops 3000:3000

現在您可以透過 http://localhost:3000/ 存取 Cyclops。

當您在我們的 repo 時,請考慮用 star 來支持我們!

GitHub 上的 Star Cyclops

>

2 取得你的 Helm 圖表


你可能有一些 Helm 圖表;他們會做得很好。如果沒有,您可以使用我的!我使用helm create命令建立了一個圖表,但尚未對其進行任何更改。

讓我們花一點時間仔細看一下該圖表。它由 5 種資源組成:部署、服務、服務帳戶、入口和水平 pod 自動擴縮器。 HPA 和 ingress 預設是停用的,但您可以在values.yaml中將其開啟。

這裡的值檔案非常小,但是,即使這只是「預設」的 Helm 圖表,也足以讓大多數開發人員望而卻步。

my-chart/
├── Chart.yaml                   # Metadata about the chart (name, version, etc.)
├── values.yaml                  # Default configuration values
├── **values.schema.json**           # Generated from the values.yaml
├── templates/               
│   ├── deployment.yaml
│   ├── hpa.yaml                 # Off in default values
│   ├── serviceaccount.yaml.  
│   ├── service.yaml
│   ├── ingress.yaml             # Off in default values 
└── .helmignore              

我將使用並試驗此圖表,但您可以對任何現有圖表執行相同的操作。

我將在圖表中加入另一個內容——架構文件。雖然我的 Helm 圖表沒有附帶模式文件,但您的圖表可能已經有了它(您可以在上面的結構中看到它,即values.schema.json )。我自動產生並刪除了不需要的多餘行。您可以 在此處查看最終版本。

#3 魔法🧚

現在到了有趣的部分。

如果您已經設定了 Cyclops,請在瀏覽器中開啟它。您將看到空白的模組螢幕,但我們應該先轉到“模板”標籤。

開箱即用,Cyclops 附帶一系列模板來幫助您入門,但讓我們加入自己的模板,以便我們可以嘗試它。

點擊Add template reference按鈕並輸入字段,使其指向您的 Helm 圖表。

⚠️如果您使用儲存在私人儲存庫中的 Helm 圖表,則可以在此處找到如何啟用存取權限⚠️

>

新模板

新增圖表後,返回模組標籤。它仍然是一個空白螢幕,但讓我們使用我們的新模板來部署一個模組!

部署模組的第一步是選擇模板。在下拉式選單中,找到您匯入的範本並點擊它。還記得之前的value.schema.json嗎?這正是 Cyclops 用來渲染 UI 的方法。

模板-1

如您所見,這裡的欄位與value.schema.json中定義的欄位相關。更改 Helm 圖表中的模式(例如刪除此處的幾個欄位)也會導致不同的 UI。

模板-2

然而,Cyclops 不僅僅是 Helm 圖表的一個漂亮的使用者介面。一旦您填寫了模板呈現的表單,您就可以將其作為模組部署! Cyclops 可以將其直接部署到你的集群,或者,如果你更喜歡 GitOps,也可以將配置推送到 git 。最終目標是相同的:您將使用 UI 中提供的值將 Helm 圖表部署到叢集。

模組

從這裡,開發人員可以輕鬆存取他們可能需要的一切:重新啟動他們的應用程式,存取他們的日誌,檢查他們的狀態,編輯配置等等…

你是一名平台工程師,Harry🧙‍♂️

雖然 Helm 圖表可能會讓大多數開發人員望而卻步,但簡單的使用者介面會更受歡迎。透過抽象化 Kubernetes 的複雜性並僅透過 UI 顯示相關的設定選項,您可以為開發人員提供更安全、更快速、更自主的工作流程。

不再需要與 DevOps 來回溝通常規變更。無需再透過上下文切換來學習 Helm。相反,開發人員將獲得簡化、集中的體驗,讓他們可以充滿信心地交付程式碼。這是平台工程背後的核心思想:提供標準化、自助服務的基礎設施,為開發團隊提供支援。

如果您想了解有關平台工程和建立內部開發者平台的更多訊息,請加入我們的Discord 社群並與我們交談!

GitHub 上的 Star Cyclops

>


原文出處:https://dev.to/cyclops-ui/from-helm-chart-to-developer-ui-in-5-minutes-5ff


共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。

阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

63 個專案實戰,寫出作品集,讓面試官眼前一亮!

立即開始免費試讀!