在 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 Service (AKS) 中创建 Azure Kubernetes 集群。在本教程中,我们将使用 Azure Kubernetes Service (AKS),并且你需要准备好 Azure 帐户以执行部署步骤。
此外,如果你想直接在 MiniKube、Azure Kubernetes Service (AKS) 或其他 Kubernetes 提供程序中迭代运行和调试容器,你可以安装 Bridge to Kubernetes 扩展。要开始使用,请参阅 使用 Bridge to Kubernetes。
安装 Kubernetes 扩展
为了获得完全集成的 Kubernetes 体验,你可以安装 Kubernetes Tools 扩展,该扩展可让你快速开发 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。点击 More 并选择 Create Cluster。按照说明选择集群类型(此处我们选择 Azure Kubernetes Service),选择你的订阅,并设置 Azure 集群和 Azure 代理设置。完成整个流程需要几分钟。
重要:要在 Azure 上创建 Kubernetes 集群,你需要安装 Azure CLI 并登录。
提示:如果你没有可用的 RSA 密钥文件,将会遇到错误。在创建 Azure Kubernetes 集群之前,请按照 创建 SSH 公钥-私钥对 来创建你的密钥。
提示:在创建 Azure Kubernetes 集群时,你可能会遇到位置和 VM 大小冲突的错误。请注意选择正确的位置和 VM 大小。
将应用程序部署到 Azure Kubernetes Service
Kubernetes 扩展提供了 Kubernetes 清单文件的自动补全、代码片段和验证功能。例如,在空的 YAML 文件中输入“Deployment”后,将自动为你生成一个具有基本结构的清单文件。你只需手动输入应用程序名称、镜像和端口。
下面是一个清单文件示例
准备好清单文件后,只需一个命令即可开始部署。打开命令面板(⇧⌘P(Windows、Linux Ctrl+Shift+P))并运行 Kubernetes: Create。它将根据打开的 Kubernetes 清单文件中的配置将应用程序部署到你的 Kubernetes 集群并创建对象。
检查你的部署
部署后,Kubernetes 扩展可以帮助你检查应用程序的状态。在资源管理器中,点击 Workloads,右键点击 Pods,然后选择 Get 查看应用程序是否已启动。要查看应用程序的状态,选择 Services,右键点击你的应用程序,然后点击 Get。状态将打印到集成终端。一旦你的应用程序有了 EXTERNAL_IP
,你就可以打开浏览器查看你的 Web 应用程序是否正在运行。
恭喜!你的应用程序已成功在 Azure Kubernetes Service 中运行!
后续步骤
- Bridge to Kubernetes 概述 - 详细了解 Bridge to Kubernetes,一种面向团队的快速迭代 Kubernetes 开发体验。
- Azure 扩展 - VS Code 市场提供了数百个用于 Azure 和云的扩展。
- 部署到 Azure - 逐步了解如何将应用程序部署到 Azure。