你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于: ✔️ Linux 映像
Azure 支持两个预配代理 cloud-init 和 Azure Linux 代理 (WALA),这构成了创建 通用映像 (Azure 计算库或托管映像)的先决条件。 Azure Linux 代理在一个包中包含预配代理代码和扩展处理代码。
在决定删除 Azure Linux 代理之前,了解 VM 丢失的功能至关重要。 删除来宾代理会删除 Azure Linux 代理中枚举的功能。
本“操作指南”介绍了从 Linux 镜像中删除来宾代理程序的步骤。
先决条件
- 如果没有 Azure 订阅,请在开始之前 创建一个免费的 Azure 帐户 。
- 您可以从 Azure 市场中选择一个 Ubuntu 映像。
删除 Azure Linux 代理并准备通用 Linux 映像
创建删除 Azure Linux 代理的映像的步骤如下:
下载 Ubuntu 映像。
装载映像。
按照从 Linux 映像中移除 sudo 用户步骤 2 中的说明装载映像。
删除 Azure Linux 代理
以根身份运行以移除 Azure Linux 代理
对于 Ubuntu 18.04+
sudo chroot /mnt/dev/$imagedevice/ apt -y remove walinuxagent
注释
如果知道不会再次重新安装 Linux 代理,可以删除 Azure Linux 代理工件,然后运行以下步骤。
(可选)删除 Azure Linux 代理工件。
如果知道不会再次重新安装 Linux 代理,则可以运行以下作,跳过此步骤:
对于 Ubuntu 18.04+
sudo chroot /mnt/dev/$imagedevice/ rm -rf /var/lib/waagent sudo chroot /mnt/dev/$imagedevice/ rm -rf /etc/waagent.conf sudo chroot /mnt/dev/$imagedevice/ rm -rf /var/log/waagent.log创建用于预配 VM 的系统服务。
由于我们要移除 Azure Linux 代理,因此我们需要提供一种报告准备就绪的机制。 将 此处 的 bash 脚本或 python 脚本的内容复制到装载的映像,并使文件可执行文件(即授予对文件 - chmod 的执行权限)。
sudo chmod +x /mnt/dev/$imagedevice/usr/local/azure-provisioning.sh若要确保报告就绪机制,请创建 一个系统服务单元 ,并将以下内容添加到 /etc/systemd/system(此示例将单元文件命名为 azure-provisioning.service)
sudo chroot /mnt/dev/$imagedevice/ systemctl enable azure-provisioning.service现在映像已通用化,可用于创建 VM。
卸载映像。
umount /mnt/dev/$imagedevice准备的映像不再包含 Azure Linux 代理。
使用准备好的映像部署机密 VM。
按照从 Azure 机密 VM 文档的“创建自定义映像 ”中的 4 开始的步骤部署无代理机密 VM。
注释
如果要使用自定义映像部署 cvm 缩放,请注意,某些与自动缩放相关的功能将受到限制。 手动缩放规则将继续按预期工作,由于无代理自定义映像,自动缩放功能将受到限制。 有关预配 代理的限制的详细信息,请参阅此处。 或者,可以导航到 Azure 门户上的“指标”选项卡并进行确认。