在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。点击更多并选择创建集群。按照说明选择集群类型(这里我们选择Azure Kubernetes Service),选择您的订阅,并设置Azure集群和Azure代理设置。完成整个工作流程需要几分钟时间。
重要: 要在Azure上创建一个Kubernetes集群,你需要安装Azure CLI并登录。
提示: 如果没有可用的RSA密钥文件,您将会遇到错误。在创建Azure Kubernetes集群之前,请按照创建SSH公钥-私钥来创建您的密钥。
提示: 在创建 Azure Kubernetes 集群时,您可能会遇到指示位置和虚拟机大小冲突的错误。请注意选择合适的位置和虚拟机大小。
将应用程序部署到Azure Kubernetes服务
Kubernetes 扩展提供了 Kubernetes 清单文件的自动补全、代码片段和验证功能。例如,当你在一个空的 YAML 文件中输入 'Deployment' 时,系统会自动生成一个包含基本结构的清单文件。你只需要手动输入你的应用名称、镜像和端口。
下面是一个示例清单文件:
一旦您的清单文件准备就绪,您只需要一个命令即可开始部署。打开命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 并运行 Kubernetes: Create。它将把应用程序部署到您的Kubernetes集群中,并根据打开的Kubernetes清单文件中的配置创建对象。
检查您的部署
部署后,Kubernetes扩展可以帮助您检查应用程序的状态。从资源管理器中,点击工作负载,右键点击Pods,然后选择获取以查看应用程序是否已启动。要查看应用程序的状态,选择服务,右键点击您的应用程序,然后点击获取。状态将打印到集成终端中。一旦您的应用程序有了EXTERNAL_IP
,您可以打开浏览器并看到您的网络应用程序正在运行。
恭喜!现在您的应用程序已成功在Azure Kubernetes Service中运行!
下一步
- Kubernetes Bridge 概述 - 了解更多关于 Kubernetes Bridge 的信息,这是一个为团队提供的快速、迭代的 Kubernetes 开发体验。
- Azure Extensions - VS Code 市场上有数百个适用于 Azure 和云的扩展。
- Deploying to Azure - 学习如何逐步将您的应用程序部署到Azure。