在 VS Code 中使用 Kubernetes
本文档将引导你完成使用 Visual Studio Code 将应用程序部署到 Kubernetes 的过程。Kubernetes 是一个开源系统,用于自动化容器化应用程序的部署、扩展和管理。我们将向你展示如何创建 Kubernetes 群集,编写 Kubernetes 清单文件(通常以 YAML 编写),该文件告诉 Kubernetes 关于应用程序所需了解的一切信息,然后最终将应用程序部署到 Kubernetes 群集。
开始之前
你将需要 Docker 和 kubectl 工具。有关在你的计算机上设置 Docker 的详细信息,请参阅 安装 Docker 文档,并参阅 安装 kubectl。在继续操作之前,请验证你是否可以从 shell 运行 Docker 和 kubectl 命令。
你可以使用 minikube 创建本地 Kubernetes 群集,或者在 Azure Kubernetes 服务 (AKS) 中创建 Azure Kubernetes 群集。在本教程中,我们将使用 Azure Kubernetes 服务 (AKS),你将需要准备好你的 Azure 帐户以进行部署步骤。
此外,如果你想在 MiniKube、Azure Kubernetes 服务 (AKS) 或其他 Kubernetes 提供商中直接迭代运行和调试容器,你可以安装 Bridge to Kubernetes 扩展。要开始使用,请参阅 使用 Bridge to Kubernetes。
安装 Kubernetes 扩展
为了获得完全集成的 Kubernetes 体验,你可以安装 Kubernetes 工具扩展,该扩展使你可以快速开发 Kubernetes 清单和 HELM 图表。通过此扩展,你还可以将基于容器化的微服务应用程序部署到本地或 Azure Kubernetes 群集,并调试在 Kubernetes 群集上的容器中运行的实时应用程序。它还可以轻松地在 VS Code 中浏览和管理你的 Kubernetes 群集,并提供与 Draft 的无缝集成,以简化 Kubernetes 开发。
要安装 Kubernetes 扩展,请打开“扩展”视图(⇧⌘X (Windows, Linux Ctrl+Shift+X)),然后搜索“kubernetes”。选择 Microsoft Kubernetes 扩展。
容器化和发布应用程序
你可以按照使用 Docker 教程构建你的项目,生成 Docker 镜像,并通过 Microsoft Docker 扩展将其推送到公共或私有容器注册表。
创建和配置 Kubernetes 群集
你可以使用 VS Code 中的 Kubernetes 扩展在 Azure 上创建 Kubernetes 群集。安装 Kubernetes 扩展后,你将在资源管理器中看到 KUBERNETES。单击更多,然后选择创建群集。按照说明选择群集类型(此处我们选择 Azure Kubernetes 服务),选择你的订阅,并设置 Azure 群集和 Azure 代理设置。完成整个工作流程需要几分钟时间。
重要提示:要在 Azure 上创建 Kubernetes 群集,你需要安装 Azure CLI 并登录。
提示:如果你没有可用的 RSA 密钥文件,你将遇到错误。按照 创建 SSH 公钥-私钥 在创建 Azure Kubernetes 群集之前创建你的密钥。
提示:创建 Azure Kubernetes 群集时,你可能会遇到指示位置和 VM 大小冲突的错误。请注意选择适当的位置和 VM 大小。
将应用程序部署到 Azure Kubernetes 服务
Kubernetes 扩展为 Kubernetes 清单文件提供自动完成、代码片段和验证。例如,一旦你在空的 YAML 文件中键入“Deployment”,就会为你自动生成具有基本结构的清单文件。你只需要手动输入你的应用程序名称、镜像和端口。
以下是清单文件示例
一旦你的清单文件准备就绪,你只需要一个命令即可启动部署。打开命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P)),然后运行Kubernetes: 创建。它会将应用程序部署到你的 Kubernetes 群集,并根据打开的 Kubernetes 清单文件中的配置创建对象。
检查你的部署
部署后,Kubernetes 扩展可以帮助你检查应用程序的状态。在资源管理器中,单击工作负载,右键单击 Pods,然后选择获取以查看应用程序是否已启动。要查看你的应用程序的状态,请选择服务,右键单击你的应用程序,然后单击获取。状态将打印到集成终端。一旦你的应用程序具有 EXTERNAL_IP
,你可以打开浏览器并查看你的 Web 应用程序运行。
恭喜你!现在你的应用程序已在 Azure Kubernetes 服务中成功运行!
后续步骤
- Bridge to Kubernetes 概述 - 了解有关 Bridge to Kubernetes 的更多信息,这是一种为团队提供的快速、迭代的 Kubernetes 开发体验。
- Azure 扩展 - VS Code Marketplace 拥有数百个用于 Azure 和云的扩展。
- 部署到 Azure - 了解有关如何逐步将应用程序部署到 Azure 的信息。