使用 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 支持站点并选择“获取支持”