在 VS Code 中使用 Kubernetes
本文档将引导您完成将应用程序部署到 Kubernetes(使用 Visual Studio Code)的过程。 Kubernetes 是一个开源系统,用于自动化容器化应用程序的部署、扩展和管理。我们将向您展示如何创建一个 Kubernetes 集群,编写一个 Kubernetes 清单文件(通常以 YAML 编写),其中包含 Kubernetes 需要了解应用程序的所有信息,最后将应用程序部署到 Kubernetes 集群。
准备工作
您需要拥有用于 Docker 和 kubectl 的工具。有关在您的计算机上设置 Docker 的详细信息,请参阅 安装 Docker 文档,有关安装 kubectl 的详细信息,请参阅 安装 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 集群时位置和虚拟机大小存在冲突。请注意选择合适的位置和虚拟机大小。
将应用程序部署到 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 Marketplace 提供数百种适用于 Azure 和云的扩展。
- 部署到 Azure - 详细了解如何将应用程序部署到 Azure。