使用 VM 扩展在 Linux 或 Windows VM 上安装 Salt Minion

先决条件

  • 具有一个(或多个)Windows 或 Linux VM 的 Azure 帐户
  • 可以接受 Azure 上托管的 Salt Minion 的连接的 Salt Master(本地或云端)
  • 根据 Salt Minion VM 扩展的要求,如要提取 Salt 包,则目标 VM 需已连接到 Internet

注释

尝试 VM 辅助,以便更快地进行诊断。 建议运行 VM assist for WindowsVM assist for Linux。 这些基于脚本的诊断工具可帮助你识别影响 Azure VM 来宾代理和整体 VM 运行状况的常见问题。

如果在联系支持人员之前遇到虚拟机的性能问题,请运行这些工具。

支持的平台

运行以下任一受支持 OS 的 Azure VM:

  • Ubuntu 20.04、22.04 (x86_64)
  • Debian 10、11 (x86_64)
  • Oracle Linux 7、8、9 (x86_64)
  • RHEL 7、8、9 (x86_64)
  • Microsoft Windows 10、11 Pro (x86_64)
  • Microsoft Windows Server 2012 R2、2016、2019、2022 Datacenter (x86_64)

如果希望支持另一个发行版(假设 Salt 支持),则可以在 GitLab 上提出问题。

支持的 Salt Minion 版本

  • 3006 及更高版本 (onedir)

扩展详细信息

  • 发布者名称:turtletraction.oss
  • Linux 扩展名称:salt-minion.linux
  • Windows 扩展名称:salt-minion.windows

Salt Minion 设置

  • master_address - 要连接到的 Salt Master 地址(默认情况下为 localhost
  • minion_id - Minion ID(默认情况下为主机名)
  • salt_version - 要安装的 Salt Minion 版本,例如 3006.1(默认情况下为 latest

使用 Azure 门户安装 Salt Minion

  1. 选择你的一个 VM。
  2. 在左侧菜单中,单击“扩展 + 应用程序”。
  3. 单击“+ 添加”。
  4. 在库中,在搜索栏中输入“Salt Minion”。
  5. 选择“Salt Minion”图块,然后单击“下一步”。
  6. 在提供的窗体中输入配置参数(请参阅 Salt Minion 设置)。
  7. 单击“查看 + 创建”。

使用 Azure CLI 安装 Salt Minion

az vm extension set --resource-group my-group --vm-name vm-ubuntu22 --name salt-minion.linux --publisher turtletraction.oss --settings '{"master_address": "10.x.x.x"}'
az vm extension set --resource-group my-group --vm-name vm-windows11 --name salt-minion.windows --publisher turtletraction.oss --settings '{"master_address": "10.x.x.x"}'

卸载方法:

az vm extension delete --resource-group my-group --vm-name vm-ubuntu22 --name salt-minion.linux
az vm extension delete --resource-group my-group --vm-name vm-windows11 --name salt-minion.windows

使用 Azure ARM 模板安装 Salt Minion

{
    "$schema": "http://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "vmName": {
            "type": "string"
        },
        "master_address": {
            "type": "string"
        },
        "salt_version": {
            "type": "string"
        },
        "minion_id": {
            "type": "string"
        }
    },
    "resources": [
        {
            "name": "[concat(parameters('vmName'),'/salt-minion.linux')]",
            "type": "Microsoft.Compute/virtualMachines/extensions",
            "location": "[resourceGroup().location]",
            "apiVersion": "2015-06-15",
            "properties": {
                "publisher": "turtletraction.oss",
                "type": "salt-minion.linux",
                "typeHandlerVersion": "1.0",
                "autoUpgradeMinorVersion": true,
                "settings": {
                    "master_address": "[parameters('master_address')]",
                    "salt_version": "[parameters('salt_version')]",
                    "minion_id": "[parameters('minion_id')]"
                }
            }
        }
    ]
}

使用 Terraform 安装 Salt Minion

假设已在 TerraForm 中定义了名为 vm_ubuntu 的 VM 资源,请使用如下所示的内容在其中安装扩展:

resource "azurerm_virtual_machine_extension" "vmext_ubuntu" {
  name                 = "vmext_ubuntu"
  virtual_machine_id   = azurerm_linux_virtual_machine.vm_ubuntu.id
  publisher            = "turtletraction.oss"
  type                 = "salt-minion.linux"
  type_handler_version = "1.0"

  settings = <<SETTINGS
{
  "salt_version": "3006.1",
  "master_address": "x.x.x.x",
  "minion_id": "ubuntu22"
}
SETTINGS
}

支持

  • 有关 Salt 的商业支持或帮助,可以访问扩展创建者 TurtleTraction
  • GitLab 上提供了此扩展的源代码
  • 对于 Azure 相关问题,可以提交 Azure 支持事件。 请转到 Azure 支持站点并选择“获取支持”