自定义 Linux 上的 waAgent 集成:- 解决 waAgent 与 Fabric 之间的交互问题

自定义 Linux 上的 waAgent 集成:- 解决 waAgent 与 Fabric 之间的交互问题

我正在尝试将 waagent 集成到我们基于 centos 6.5 的自定义 linux 中。目前,我可以上传自定义 linux 的 vhd 映像并将其部署到 Azure 上,而无需 waagent。我可以使用 SSH 连接到 Azure 中的此 VM。但由于未集成 waagent,Azure 将长时间显示部署状态为“正在部署”,最后将状态更改为“失败”

因此决定将 waagent 集成到我的定制 Linux 中。waAgent 也是必需的,因为我需要在 Azure 市场中发布我的映像。由于我的 VM 是定制的,我无法简单地安装 waAgent 并开始使用它。每当 waAgent 有可能失败时,我都会修改 waAgent 代码,使其不会失败并向 Fabric 发送成功消息

在 Azure 中部署我的新 VM(带有 waAgent 的 VM)后,我将使用 ssh 手动连接到它并启动 waagent。通过 tcpdump,我验证了 waagent 正在向 Azure Fabric 发送消息,表示 VM 配置“成功”。但 Azure 门户仍然没有将状态从“配置中”更改为“成功”

为了进一步研究,我认为我需要找出 waAgent 和 Azure Fabric 之间的通信中缺少什么。但是没有简单的方法来获取成功案例的 tcpdump,以便我可以比较成功的 tcpdump 和失败的 tcpdump。以下是尝试获取成功案例的 tcpdump 的选项。

  1. 从市场部署 Centos 映像。由于无法在 waAgent 触发之前启动 tcpdump,因此我按照此方法操作。使用 SSH 连接到虚拟机运行“waagent -deprovision”,现在启动 tcpdump 并运行“waagent --daemon”,但 waAgent 无法安装 CD ROM,因为 Azure 仅在启动时提供 CD ROM

  2. 使用“用户定义路由”将流量从一个 VM 转移到另一个 VM。这样,waagent 和 fabric 之间的流量可以在另一台 VM 中捕获,以防成功。但如果数据包指定到 Azure Fabric,则“用户定义路由”不会将流量转移到另一台机器

  3. 考虑在数据中心使用 Azure Stack,这样客户端和 Fabric 都在我的控制之下。但了解到 Azure Stack 中使用的协议与 Azure 的协议不同

问题

  1. 我如何获取 waAgent 成功案例 tcpdump 的 tcp 转储,以便我可以将我的失败案例 tcpdump 与其进行比较

  2. 如果我没有走对方向,那么在定制的操作系统版本中集成 waAgent 的简单方法是什么?

谢谢约翰

答案1

如果我没有走对方向,那么在定制的操作系统版本中集成 waAgent 的简单方法是什么?

Azure 支持在 CentOS 6.5 上安装 waagent。有关为 Azure 准备基于 CentOS 的虚拟机的更多信息,请参阅此官方文章

相关内容