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