在 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 密钥文件,将会遇到错误。在创建 Azure Kubernetes 集群之前,请按照创建 SSH 公钥-私钥创建你的密钥。
提示:在创建 Azure Kubernetes 集群时,你可能会遇到一个错误,指示位置和 VM 大小冲突。请注意选择合适的位置和 VM 大小。
将应用程序部署到 Azure Kubernetes 服务
Kubernetes 扩展为 Kubernetes 清单文件提供自动完成、代码片段和验证。例如,一旦你在空的 YAML 文件中键入“Deployment”,就会为你自动生成具有基本结构的清单文件。你只需要手动输入你的应用程序名称、映像和端口。
以下是一个示例清单文件
一旦你的清单文件准备就绪,你只需要一个命令即可开始部署。打开 命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P)) 并运行 Kubernetes: 创建。它会将应用程序部署到你的 Kubernetes 集群,并根据打开的 Kubernetes 清单文件中的配置创建对象。
检查你的部署
部署后,Kubernetes 扩展可以帮助你检查应用程序的状态。从“资源管理器”中,单击工作负载,右键单击 Pod,然后选择获取,以查看应用程序是否已启动。要查看你的应用程序的状态,请选择服务,右键单击你的应用程序,然后单击获取。该状态将打印到集成终端。一旦你的应用程序具有 EXTERNAL_IP
,你就可以打开浏览器并查看你的 Web 应用程序正在运行。
恭喜你!现在你的应用程序已在 Azure Kubernetes 服务中成功运行!
后续步骤
- Bridge to Kubernetes 概述 - 详细了解 Bridge to Kubernetes,这是一种面向团队的快速、迭代的 Kubernetes 开发体验。
- Azure 扩展 - VS Code 市场有数百个适用于 Azure 和云的扩展。
- 部署到 Azure - 逐步了解如何将应用程序部署到 Azure。