你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在启用 Azure Arc 的 Azure Stack Edge Pro GPU Kubernetes 群集上部署 Redis 支持的 PHP
适用于:
Azure Stack Edge Pro - GPU
Azure Stack Edge Pro 2
Azure Stack Edge Pro R
Azure Stack Edge Mini R
本文介绍如何使用 Kubernetes 和 Azure Arc 生成和部署多层 Web 应用程序。此示例包含以下组件:
- 一个单实例 Redis 主机,用于存储
guestbook条目 - 多个复制的 Redis 实例,用于提供读取服务
- 多个 Web 前端实例
部署是在 Azure Stack Edge Pro 设备上已启用 Azure Arc 的 Kubernetes 群集上使用 GitOps 完成的。
此过程适用于在 Azure Stack Edge Pro 设备上查看 Kubernetes 工作负载 的人员,并熟悉 已启用 Azure Arc 的 Kubernetes(预览版)的概念。
先决条件
在部署无状态应用程序之前,请确保已在设备上完成以下先决条件以及用于访问设备的客户端:
适用于设备
你有单节点 Azure Stack Edge Pro 设备的登录凭据。
已在设备上的现有 Kubernetes 群集上启用了 Azure Arc,并在 Azure 门户中有相应的 Azure Arc 资源。 有关详细步骤,请参阅 在 Azure Stack Edge Pro 设备上启用 Azure Arc。
对于访问设备的客户端
你有一个 Windows 客户端系统,用于访问 Azure Stack Edge Pro 设备。
客户端正在运行 Windows PowerShell 5.0 或更高版本。 若要下载最新版本的 Windows PowerShell,请转到 安装 Windows PowerShell。
也可使用任何其他客户端,只要安装了受支持的操作系统即可。 本文介绍使用 Windows 客户端时的过程。
已完成在 Azure Stack Edge Pro 设备上访问 Kubernetes 群集中所述的过程。 你拥有:
在客户端上安装
kubectl。确保
kubectl客户端版本与在 Azure Stack Edge Pro 设备上运行的 Kubernetes 主版本之间的版本差距不超过一个版本。- 使用
kubectl version检查客户端上运行的 kubectl 版本。 记下完整版本。 - 在 Azure Stack Edge Pro 设备的本地 UI 中,转到 “概述 ”并记下 Kubernetes 软件编号。
- 验证这两个版本是否与受支持的 Kubernetes 版本中提供的映射兼容。
- 使用
你有一个 GitOps 配置,可用于运行 Azure Arc 部署。 在此示例中,请使用以下
yaml文件在 Azure Stack Edge Pro 设备上部署。frontend-deployment.yaml-
frontend-service.yaml -
redis-master-deployment.yaml -
redis-master-service.yaml -
redis-replica-deployment.yaml -
redis-replica-service.yaml
部署配置
按照以下步骤配置 Azure Arc 资源,以便通过 Azure 门户部署 GitOps 配置:
在 Azure 门户中,转到您在设备的 Kubernetes 群集中启用 Azure Arc 时创建的 Azure Arc 资源。
转到 “配置 ”并选择“ + 添加配置”。
指定 Flux 版本 1 扩展。
在 “添加 GitOps 配置”中,输入字段的相应值,然后选择“ 添加”。
参数 Description 配置名称 配置资源的名称。 运算符实例名称 用于标识特定配置的操作员的实例名称。 名称是最多 253 个字符的字符串,该字符串必须为小写、字母数字、连字符和句点。 运算符命名空间 设置为 demotestguestbook 以匹配部署 yaml中指定的命名空间。
该字段定义安装运算符的命名空间。 名称是最多 253 个字符的字符串,该字符串必须为小写、字母数字、连字符和句点。存储库 URL
Git 存储库的路径,格式为http://github.com/username/repo或git://github.com/username/repo,这是您的 GitOps 配置所在的位置。操作符作用域 选择 命名空间。
此参数定义安装操作员的范围。 选择 Namespace 以在部署 yaml 文件中指定的命名空间中安装操作员。运算符类型 保持默认设置。
此参数指定运算符的类型 - 默认情况下,设置为 flux。运算符参数 将此项留空。
此参数包含要传递给 flux 运算符的参数。Helm 将此复选框保留为“未选中”。
如果要执行基于图表的部署,请启用此选项。
配置部署开始,“运算符状态”显示为“挂起”。
部署需要几分钟时间。 部署完成后, 操作员状态 显示为 “已安装”。
验证部署
通过 GitOps 配置的部署会创建一个在 git 存储库的部署文件 yaml 中指定的 demotestguestbook 命名空间。
应用 GitOps 配置后, 连接到设备的 PowerShell 接口。
运行以下命令以列出与部署相对应的
demotestguestbook命名空间中运行的 Pod。kubectl get pods -n <your-namespace>下面是一个示例输出。
[10.128.44.240]: PS>kubectl get pods -n demotestguestbook NAME READY STATUS RESTARTS AGE aseoperator1-5569658644-cqtb5 1/1 Running 0 91m frontend-6cb7f8bd65-4xb4f 1/1 Running 0 91m frontend-6cb7f8bd65-q9cxj 1/1 Running 0 91m frontend-6cb7f8bd65-xpzs6 1/1 Running 0 91m memcached-86bdf9f56b-5l2fq 1/1 Running 0 91m redis-master-7db7f6579f-2z29w 1/1 Running 0 91m redis-replica-7664787fbc-lgr2n 1/1 Running 0 91m redis-replica-7664787fbc-vlvzn 1/1 Running 0 91m [10.128.44.240]: PS>在此示例中,前端服务已部署为 type:LoadBalancer。 需要查找此服务的 IP 地址才能查看
guestbook。 运行以下命令。kubectl get service -n <your-namespace>[10.128.44.240]: PS>kubectl get service -n demotestguestbook NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE frontend LoadBalancer 10.96.79.38 10.128.44.245 80:31238/TCP 85m memcached ClusterIP 10.102.47.75 <none> 11211/TCP 85m redis-master ClusterIP 10.104.32.99 <none> 6379/TCP 85m redis-replica ClusterIP 10.104.215.146 <none> 6379/TCP 85m [10.128.44.240]: PS>前端服务
type:LoadBalancer具有外部 IP 地址。 此 IP 来自你在设备上配置计算网络设置时为外部服务指定的 IP 地址范围。 使用此 IP 地址查看guestbookURL:https://<external-IP-address>。
删除部署
若要删除部署,可以从 Azure 门户删除配置。 删除配置将删除已创建的对象,包括部署和服务。
- 在 Azure 门户中,转到 Azure Arc 资源 > 配置。
- 找到要删除的配置。 选择...以调用上下文菜单并选择“ 删除”。
可能需要几分钟时间才能删除配置。