你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Kubernetes 为容器化应用程序提供一个分布式平台。 你生成自己的应用程序和服务并将其部署到 Kubernetes 群集中,让群集管理可用性和连接性。
可以通过两种方式部署示例应用程序:
- 直接从工作站部署到 AKS 群集。
- 使用自动化部署管道进行部署。 在Azure中,可以使用:
本教程介绍如何直接从工作站将示例应用程序部署到 Kubernetes 群集,并使用 AKS 桌面管理应用程序。 学习如何:
- 更新 Kubernetes 清单文件。
- 在 Kubernetes 中部署应用程序。
- 测试应用程序。
- 在 AKS 桌面中查看应用程序运行状况、日志、指标和组合。
开始之前
在上一教程中,你已将应用程序打包到容器映像中、将映像更新到 Azure 容器注册表并且创建了 Kubernetes 群集。 必须先预创建 aks-store-quickstart.yaml Kubernetes 清单文件,然后才能完成本教程。 此文件是从教程 1 - 准备 AKS 应用程序的应用程序源代码中下载的。
本教程创建和更新可计费资源,例如 LoadBalancer 服务。 使用具有权限的标识将工作负荷部署到 AKS 并读取群集资源。
更新清单文件
在这些教程中,你的 Azure 容器注册表 (ACR) 实例存储示例应用程序的容器映像。 若要部署此应用程序,必须更新 Kubernetes 清单文件中的映像名称,使之包括你的 ACR 登录服务器名称。
确保你位于所克隆的 aks-store-demo 目录中,然后使用文本编辑器打开
aks-store-quickstart.yaml清单文件。通过将 ghcr.io/azure-samples
image替换为 ACR 登录服务器名称来更新容器的 属性。containers: ... - name: order-service image: <acrName>.azurecr.io/aks-store-demo/order-service:1.0 ... - name: product-service image: <acrName>.azurecr.io/aks-store-demo/product-service:1.0 ... - name: store-front image: <acrName>.azurecr.io/aks-store-demo/store-front:1.0 ...
运行应用程序
使用 AKS 桌面部署和管理应用程序
AKS 桌面是一个以应用程序为中心的开发人员门户,用于Azure Kubernetes 服务 (AKS),无需深入 Kubernetes 专业知识即可简化应用程序部署和管理。
将群集注册到 AKS 桌面版系统
- 请确保使用有权访问 AKS 群集的同一帐户登录到 AKS 桌面。 登录后, 从 Azure 订阅中选择“添加”。
- 如果有多个订阅,请输入 Azure 订阅的名称。 (或者,选择箭头以打开下拉列表,然后选择 Azure 订阅。
- 选择群集,然后选择“ 注册群集”。
当群集状态在 AKS 桌面版中显示为“已连接”时,继续。
在 AKS 桌面中创建托管项目
在 AKS 桌面版中,转到“项目”选项卡,然后选择“创建新的托管Project。
配置以下项目设置:
-
基础知识:
- 项目名称:例如
my-dev-frontend - 订阅:
<your-subscription-name> - 群集:
<your-cluster-name>
- 项目名称:例如
注释
设置 Azure 订阅和 AKS 群集时,AKS 桌面会检查群集和订阅是否支持所需功能。
网络策略:可以保留本快速入门的默认设置,或根据需要更新它们。
- 若要公开应用程序,请将 入口 更改为
Allow all traffic.
- 若要公开应用程序,请将 入口 更改为
计算配额:设置测试应用程序的值。
Access:通过删除行项来添加某人或删除条目。
-
基础知识:
在 “审阅”下,验证项目的设置,然后选择“ 创建项目”。
部署应用程序
提供应用程序名称,然后选择“ 创建应用程序”。
为应用程序选择源。 对于此示例,请选择 “Kubernetes YAML>下一步”。
打开
aks-store-quickstart.yaml,将其内容复制并粘贴到编辑器中,然后选择“ 下一步”。
查看创建的资源,然后选择“ 部署 ”和“ 关闭”。
部署资源可能需要几分钟时间。 在此期间,当群集缩放时,项目状态可能会显示
Degraded。通过选择 “资源 ”和 “工作负荷”来检查应用程序资源的状态。
可以通过选择顶部窗口菜单选项 “导航>重载”来强制刷新屏幕。选择单个工作负荷资源以查看其详细信息和事件。
测试应用程序
应用程序运行时,Kubernetes 服务将向 Internet 公开应用程序前端。 此过程可能需要几分钟才能完成。
AKS 桌面
从资源>网络>服务获取公共 IP 地址:应用商店前端>外部 IP。
在 AKS 桌面中浏览应用程序,例如查看日志和指标。 有关详细信息,请参阅 AKS 桌面概述。
命令行
使用带有
kubectl get service参数的--watch命令来监视进度。kubectl get service store-front --watch最初,
EXTERNAL-IP服务的store-front显示为<pending>:store-front LoadBalancer 10.0.34.242 <pending> 80:30676/TCP 5s当
EXTERNAL-IP地址从<pending>更改为公共 IP 地址时,请使用CTRL-C停止kubectl监视进程。以下示例输出显示向服务分配了有效的公共 IP 地址:
store-front LoadBalancer 10.0.34.242 52.179.23.131 80:30676/TCP 67s通过打开 Web 浏览器并导航到服务的外部 IP 地址来查看应用程序的运作情况:
http://<external-ip>。
如果应用程序未加载,可能是因为映像注册表存在授权问题。 若要查看容器的状态,请使用 kubectl get pods 命令。 如果无法拉取容器映像,请参阅使用 Azure 容器注册表从 Azure Kubernetes 服务进行身份验证。
Azure 门户
导航到 Azure 门户以查找部署信息。
清理资源
由于你已验证应用程序的功能,现在可以从应用程序中删除群集。 我们将在下一篇教程中再次部署该应用程序。
AKS 桌面
注释
若要继续学习下一教程步骤,请不要删除 AKS 桌面项目。
如果已完成,请选择 “删除” 图标。 在确认消息中,选择“ 同时删除命名空间”。
命令行
使用
kubectl delete命令停止和删除容器实例和资源。kubectl delete -f aks-store-quickstart.yaml使用
kubectl get pods命令检查是否已删除所有应用程序 Pod。kubectl get pods
后续步骤
在本教程中,你已在 AKS 中将示例 Azure 应用程序部署到 Kubernetes 群集。 你已了解如何执行以下操作:
- 更新 Kubernetes 清单文件。
- 在 Kubernetes 中运行应用程序。
- 测试应用程序。
下一教程介绍如何在 Kubernetes 中使用 PaaS 服务处理有状态工作负载。