在 VS Code 中使用 Kubernetes

本文档将引导您完成使用 Visual Studio Code 将应用程序部署到Kubernetes的过程。Kubernetes是一个开源系统,用于自动化容器化应用程序的部署、扩展和管理。我们将向您展示如何创建 Kubernetes 集群,编写 Kubernetes 清单文件(通常用 YAML 编写),该文件告诉 Kubernetes 它需要了解的有关应用程序的所有信息,然后最终将应用程序部署到 Kubernetes 集群。

在你开始之前

您需要有适用于Dockerkubectl的工具。有关在计算机上设置 Docker 和安装 kubectl 的详细信息,请参阅安装 Docker文档。在继续操作之前,请验证您可以从 shell 运行 Docker 和 kubectl 命令。

您可以使用minikube创建本地 Kubernetes 集群,也可以在Azure Kubernetes 服务 (AKS)中创建Azure Kubernetes 集群。在本教程中,我们将使用Azure Kubernetes 服务 (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扩展。

安装 Kubernetes

容器化并发布应用程序

您可以按照使用 Docker教程来构建项目、生成 Docker 映像,并通过 Microsoft Docker Extension将其推送到公共或私有容器注册表。

创建并配置 Kubernetes 集群

您可以使用 VS Code 中的 Kubernetes 扩展创建在 Azure 上运行的 Kubernetes 集群。安装 Kubernetes 扩展后,您将在资源管理器中看到KUBERNETES。单击“更多”并选择“创建集群”。按照说明选择集群类型(此处我们选择Azure Kubernetes Service),选择订阅,然后设置 Azure 集群和 Azure 代理设置。完成整个工作流程将需要几分钟的时间。

创建 Kubernetes

重要提示:要在 Azure 上创建 Kubernetes 集群,您需要安装Azure CLI并登录。

提示:如果没有可用的 RSA 密钥文件,您将遇到错误。在创建 Azure Kubernetes 群集之前,请按照创建 SSH 公钥-私钥来创建密钥。

RSA 错误

提示:创建 Azure Kubernetes 群集时,您可能会遇到指示位置和 VM 大小冲突的错误。注意选择合适的位置和虚拟机大小。

创建集群时出错

将应用程序部署到 Azure Kubernetes 服务

Kubernetes 扩展为 Kubernetes 清单文件提供自动完成、代码片段和验证。例如,一旦您在空 YAML 文件中键入“部署”,系统就会自动为您生成一个具有基本结构的清单文件。您只需手动输入应用程序名称、图像和端口。

创建清单

下面是一个清单文件示例:

清单示例

一旦清单文件准备就绪,您只需要一个命令即可开始部署。打开命令面板( ⇧⌘P (Windows、Linux Ctrl+Shift+P ) ) 并运行Kubernetes: Create。它将把应用程序部署到您的 Kubernetes 集群,并根据打开的 Kubernetes 清单文件中的配置创建对象。

开始部署

检查您的部署

部署后,Kubernetes 扩展可以帮助您检查应用程序的状态。在 Explorer 中,单击Workloads,右键单击Pods,然后选择Get以查看应用程序是否已启动。要查看应用程序的状态,请选择服务,右键单击您的应用程序,然后单击获取。状态将打印到集成终端。一旦您的应用程序有了EXTERNAL_IP,您就可以打开浏览器并查看您的 Web 应用程序正在运行。

检查状态

恭喜!现在您的应用程序已成功在 Azure Kubernetes 服务中运行!

下一步

  • Bridge to Kubernetes 概述- 了解有关 Bridge to Kubernetes 的更多信息,这是一种面向团队的快速、迭代的 Kubernetes 开发体验。
  • Azure 扩展- VS Code Marketplace 拥有数百个适用于 Azure 和云的扩展。
  • 部署到 Azure - 逐步了解如何将应用程序部署到 Azure。