1. 2024程序員容器化上雲之旅-第5集-Ubuntu-WSL2-Windows11版:上雲之路
故事開始,Java程序員馬意濃在一家互聯網公司維護著老舊的電商後台系統。他渴望學習新技術,於是開始自學 Vue3 並使用 SpringBoot3 完成了一個前後端分離的 Web 應用系統。他的目標是將此應用容器化後,利用 Kubernetes(K8s)上雲。
為了體驗上雲之旅,馬意濃查閱了大量資料。他了解到,在 Kubernetes 雲集群里運行前後端分離的 web 應用,有多種選擇。一種是利用雲服務商提供的免費試用服務,另一種是使用能在本地電腦上運行的輕量級 Kubernetes 發行版。
考慮到體驗地道的上雲感受,馬意濃決定選擇前者。他找到了市場上主要的 Kubernetes 雲集群服務廠商,包括 Google、Microsoft(Azure)、AWS 等。考慮到訪問的便利性和免費試用的期限,他最終選擇了微軟的 Azure Kubernetes Service(AKS)。
馬意濃在 Azure k8s service 雲平台官網注冊了一個賬號,但好景不長,他所維護的公司老舊系統的生產環境開始頻繁出現故障,需要他在晚上和周末加班修 bug。這讓他失去了試用 Kubernetes 的時間。等到有空嘗試時,免費試用期已過。
不過,他發現 AKS 提供了按實際使用量付費的服務。馬意濃意識到,一些企業因為高昂的雲服務費用轉而選擇自建私有雲,這節省了大量費用。他聯想到之前在網上看到的一幅漫畫,描繪了兩個流浪漢因為忘記關閉 EC2 實例而變窮的故事,不禁會心一笑。
為了更好地理解如何在本地電腦運行 Kubernetes,馬意濃開始研究輕量級 Kubernetes 發行版。他發現有 7 種發行版,包括 Docker Desktop、minikube、k3s、Docker Desktop、k3d、MicroK8s 和 kubeadm。他藉助 Google Trends 和網上文章,對這 7 種發行版進行了分析和比較。
在用戶量排名中,Docker Desktop 獨占鰲頭,大幅領先其他發行版。它擁有友好的用戶界面和快速的開發容器化應用能力,且對個人用戶、學校師生、非商業的開源項目等免費。盡管只支持單 node 集群,不支持多 node 集群,也不允許自定義 Kubernetes 功能,但對於馬意濃而言,這並不構成問題。
馬意濃在 Docker Desktop 中打開了 Kubernetes 功能。他首先在 D