ref: https://loft-sh.medium.com/11-of-the-best-open-source-kubernetes-tools-2021-edition-b4aa49487845
本文會從三個類別來介紹作者認為跟 Kubernetes 開發維運有關的好用工具,這三個領域分別是
1. Running Kubernetes Environments
a. Minikube 依然好用,可以輕鬆創建環境,作者提到創建一個 cluster 只要 23 秒即可 <--- 我是懷疑加上 VM 時間應該沒辦法,除非單純用 container mode.
b. Helm 目前依然是部署方面最普遍被使用的包裝方式,
c. K3S 目前依然是輕量級 k8s 的選擇,特別是 IoT 等輕量級環境下想要部署k8s叢集則k3s幾乎是唯一選擇。
2. Simplify Feedback Loop
這個領域主要探討的針對開發者來說,如何能夠有效的提升開發流程,如何讓開發者能夠與 k8s 的互動更為抽象與簡單,讓開發者可以不需要學會太多k8s的指令又能夠將開發的結果送到k8s叢集內進行測試。
這類型的反饋資訊也就是標題所述的 Feedback Loop
a. 由 Google 開源維護的 Skaffold 專案目前能夠簡化開發者開發k8s 應用程式的流程,將建置Image,部署到k8s等步驟都自動化,開發者只需要呼叫指令或是存擋即可讓最新的程式碼自動部署到k8s叢集內。
b. 另外一套名為 Tilt 的軟體與 Skaffold 非常類似,不同點是 Tilt 有提供友善的介面,讓使用者可以更快地去知道當前撰寫的程式碼部署到k8s後會有什麼問題,從基本的 YAML 錯誤到部署後哪邊出問題都能夠盡量的點出
c. DevSpace 也是一套針對開發流程的開源專案,跟 Tilt 一樣都有提供介面,而全部的操作都是基於 devspace 這個指令來完成。
d. Lens 這套 Kubernetes 的 GUI 軟體功能愈加強大,作者甚至稱其為 IDE 而非單純的 GUI 功能,透過各式各樣不同的 Plugin 幾乎可以完成你想要達到的任何功能。
3. IDE Dev Tools I Can’t Live Without
a. 作者推薦 VSCODE 上面的 Kubernetes Tool 這個擴功功能,作者認為如果你的 IDE 不能夠有效地分辨 Helm Template 與 K8s vanilla YAML 的差異的話,你的開發速度跟體驗將會奇差無比。
b. VSCODE 上面的 YAML Language Support 這個功能也很好,能夠針對各種 YAML 文件的操作給予自動補齊與偵錯
c. 另外一個作者推薦的 VSCODE 擴充功能是 Footsteps,作者提到對於一個數百行以上的 YAML 檔案來進行修改有時候是厭煩的,而這個擴充功能會幫你把最近修改的內容用顏色給標示強調同時也透過快捷鍵可以讓你快速地跳於最近修改的行數之間往返。
這篇文章主要就是作者分享自己使用的一些工具,有興趣的可以參考原文
同時也有1部Youtube影片,追蹤數超過33萬的網紅Mr.GTA5 MOD,也在其Youtube影片中提到,Flo Rida - GDFR ft. GANGSTA in Grand Theft Auto V (GTA5 Rockstar Editor Music Video) I created this cinematic short movie like a machinima or trailer ...
dev tool 在 矽谷牛的耕田筆記 Facebook 的精選貼文
ref: https://loft-sh.medium.com/11-of-the-best-open-source-kubernetes-tools-2021-edition-b4aa49487845
本文會從三個類別來介紹作者認為跟 Kubernetes 開發維運有關的好用工具,這三個領域分別是
1. Running Kubernetes Environments
a. Minikube 依然好用,可以輕鬆創建環境,作者提到創建一個 cluster 只要 23 秒即可 <--- 我是懷疑加上 VM 時間應該沒辦法,除非單純用 container mode.
b. Helm 目前依然是部署方面最普遍被使用的包裝方式,
c. K3S 目前依然是輕量級 k8s 的選擇,特別是 IoT 等輕量級環境下想要部署k8s叢集則k3s幾乎是唯一選擇。
2. Simplify Feedback Loop
這個領域主要探討的針對開發者來說,如何能夠有效的提升開發流程,如何讓開發者能夠與 k8s 的互動更為抽象與簡單,讓開發者可以不需要學會太多k8s的指令又能夠將開發的結果送到k8s叢集內進行測試。
這類型的反饋資訊也就是標題所述的 Feedback Loop
a. 由 Google 開源維護的 Skaffold 專案目前能夠簡化開發者開發k8s 應用程式的流程,將建置Image,部署到k8s等步驟都自動化,開發者只需要呼叫指令或是存擋即可讓最新的程式碼自動部署到k8s叢集內。
b. 另外一套名為 Tilt 的軟體與 Skaffold 非常類似,不同點是 Tilt 有提供友善的介面,讓使用者可以更快地去知道當前撰寫的程式碼部署到k8s後會有什麼問題,從基本的 YAML 錯誤到部署後哪邊出問題都能夠盡量的點出
c. DevSpace 也是一套針對開發流程的開源專案,跟 Tilt 一樣都有提供介面,而全部的操作都是基於 devspace 這個指令來完成。
d. Lens 這套 Kubernetes 的 GUI 軟體功能愈加強大,作者甚至稱其為 IDE 而非單純的 GUI 功能,透過各式各樣不同的 Plugin 幾乎可以完成你想要達到的任何功能。
3. IDE Dev Tools I Can’t Live Without
a. 作者推薦 VSCODE 上面的 Kubernetes Tool 這個擴功功能,作者認為如果你的 IDE 不能夠有效地分辨 Helm Template 與 K8s vanilla YAML 的差異的話,你的開發速度跟體驗將會奇差無比。
b. VSCODE 上面的 YAML Language Support 這個功能也很好,能夠針對各種 YAML 文件的操作給予自動補齊與偵錯
c. 另外一個作者推薦的 VSCODE 擴充功能是 Footsteps,作者提到對於一個數百行以上的 YAML 檔案來進行修改有時候是厭煩的,而這個擴充功能會幫你把最近修改的內容用顏色給標示強調同時也透過快捷鍵可以讓你快速地跳於最近修改的行數之間往返。
這篇文章主要就是作者分享自己使用的一些工具,有興趣的可以參考原文
dev tool 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
本文延續前一篇文章,作者探討十五種 Kubernetes 不該使用的部署與維運模式,總共三篇,每篇五種。
Using Kubectl as a debugging tool
作者認為一個良好的 Kubernetes 叢集必定要有一個相對應個可觀測性工具,包含 Metrics/Log/Tracing 等。對於一個維運人說來說,今天要處理事情時,第一件事情如果還是慢慢的用 kubectl 來執行 get, describe ,log 等指令找問題的話就太慢了,這類型的工具都應該只是輔助使用,真正還是要依賴有效的監控系統,不論是常見的系統指標,應用程式狀態甚至是應用程式獨特的指標等,將這些資訊整合到一個方便顯示的儀表板,甚至搭配對應的 Alert 功能來達到主動通知。
Misunderstanding Kubernetes network concepts
Kubernetes 內提供的網路功能很容易被搞混,Service(ClusterIP, NodePort, LoadBalancer) 與 Ingress 的差異到底是什麼,很多初次踏入 Kubernetes 的玩家沒有特別去理解差異,只知道應用程式部署後就可以通了。Service Mesh 這個概念作者也推薦去學習與瞭解,知道這個概念是什麼,以及想要什麼解決問題就好,因為並非不是每個叢集都真的需要一套 Service Mesh 的解決方案,但是理解這個概念未來就有能力知道什麼時候需要導入。
Using permanent staging environments instead of dynamic environments
對於應用程式開發者來說,如何於 Kubernetes 環境上測試新功能一直都是一個困難的問題。大部分的團隊中都會有 QA/Staging/Production/Dev(甚至更多)的環境,假設 Dev 環境可以供開發者測試,這些開發者要如何確保自己的修改沒有問題且通過整合測試。
一個常見的問題是假如多個開發者同事部署自己的程式碼到固定環境中,有可能會造成互相干擾,導致問題發生時沒有辦法正確的判別問題是誰產生的。
作者提到一種作法就是透過預借的概念,確保每個開發者使用叢集時都不會有他人干擾,然而這個問題也會引發其他問題,譬如開發者間要互相協調時間,同時每個人用完環境後都要還原成穩定的狀態,以免干擾下一位的使用。
作者推薦使用動態叢集的方式來進行測試,使用 Github PR 為範例,當 PR 開啟時,動態創建 Kubernetes 叢集供測試,當 PR 合併後就會將該 Cluster 給移除。透過這種範例每個開發者都可以有獨立的環境進行測試彼此不干擾,同時也會隨者程式碼的合併而自動回收環境,也不需要擔心環境污染問題。
Mixing production and non-production clusters
任何團隊一定要有正式生產環境的叢集跟其他叢集分隔開來,千萬不能使用 namespace 的方式於一個叢集中同時維護生產與非生產環境。譬如
1. 任何人操作 Kubernetes 都很容易失誤,譬如指令下錯,指向錯的物件。這類型的操作都有可能導致該叢集上生產環境被誤刪
2. namespace 的隔離性不好,實際上很多物件彼此還是可以互相存與溝通,這部分也有其他的隱憂
詳細原文可以參考下列連結。
https://medium.com/containers-101/kubernetes-deployment-antipatterns-part-2-2af25a710bc0
dev tool 在 Mr.GTA5 MOD Youtube 的最佳解答
Flo Rida - GDFR ft. GANGSTA in Grand Theft Auto V (GTA5 Rockstar Editor Music Video)
I created this cinematic short movie like a machinima or trailer using GTA V PC Rockstar Editor with some mods, Lowriders and Hydraulics.
Music: GDFR
Artists: ft. Sage The Gemini and Lookas
Genre: Hip Hop
Game: Grand Theft Auto V
Dev: Rockstar Games
Tool: Rockstar Editor
![post-title](https://i.ytimg.com/vi/aEacKzlybZw/hqdefault.jpg)