你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Set-AzureVMChefExtension

将 Chef 扩展添加到虚拟机。

注意

本文档中引用的 cmdlet 用于管理使用 Azure Service Manager (ASM) API 的旧 Azure 资源。 创建新的资源时,不建议使用此旧版 PowerShell 模块,因为 ASM 计划停用。 有关详细信息,请参阅 Azure Service Manager 停用

Az PowerShell 模块是推荐的 PowerShell 模块,用于使用 PowerShell 管理 Azure 资源管理器 (ARM) 资源。

语法

Set-AzureVMChefExtension
   [-Version <String>]
   -ValidationPem <String>
   [-ClientRb <String>]
   [-BootstrapOptions <String>]
   [-RunList <String>]
   [-JsonAttribute <String>]
   [-ChefDaemonInterval <String>]
   [-ChefServerUrl <String>]
   [-ValidationClientName <String>]
   [-OrganizationName <String>]
   [-BootstrapVersion <String>]
   [-Daemon <String>]
   [-Secret <String>]
   [-SecretFile <String>]
   [-Windows]
   -VM <IPersistentVM>
   [-Profile <AzureSMProfile>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
Set-AzureVMChefExtension
   [-Version <String>]
   -ValidationPem <String>
   [-ClientRb <String>]
   [-BootstrapOptions <String>]
   [-RunList <String>]
   [-JsonAttribute <String>]
   [-ChefDaemonInterval <String>]
   [-ChefServerUrl <String>]
   [-ValidationClientName <String>]
   [-OrganizationName <String>]
   [-BootstrapVersion <String>]
   [-Daemon <String>]
   [-Secret <String>]
   [-SecretFile <String>]
   [-Linux]
   -VM <IPersistentVM>
   [-Profile <AzureSMProfile>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]

说明

Set-AzureVMChefExtension cmdlet 将 Chef 扩展添加到虚拟机。

示例

示例 1:将 Chef 扩展添加到 Windows 虚拟机

PS C:\> Set-AzureVMChefExtension -VM $VM -ValidationPem "C:\\myorg-validator.pem" -ClientRb "C:\\client.rb" -RunList "Apache" -Windows;

此命令将 Chef 扩展添加到 Windows 虚拟机。 虚拟机出现时,会启动 Chef,并在其中运行 Apache。

示例 2:使用引导将 Chef 扩展添加到 Windows 虚拟机

PS C:\> Set-AzureVMChefExtension -VM $VM -ValidationPem "C:\\myorg-validator.pem" -BootstrapOptions '{"chef_node_name":"your_node_name","chef_server_url":"https://api.opscode.com/organizations/some-org", "validation_client_name":"some-org-validator"}' -RunList "Apache" -Windows;

此命令将 Chef 扩展添加到 Windows 虚拟机。 当虚拟机启动时,它通过 Chef 启动并运行 Apache。 启动后,虚拟机引用 JSON 格式指定的 BootstrapOptions

示例 3:将 Chef 扩展添加到 Windows 虚拟机并安装 Apache 和 GIT

PS C:\> Set-AzureVMChefExtension -VM $VM -ValidationPem "C:\\myorg-validator.pem" -ChefServerUrl "http://ipaddress:port" -ValidationClientName "MyOrg-Validator" -RunList "apache, git" -Windows;

此命令将 Chef 扩展添加到 Windows 虚拟机。 启动虚拟机时,会启动 Chef 并安装 Apache 和 GIT。 如果未提供 client.rb,则需要提供 Chef 服务器 URL 和验证客户端名称。

示例 4:将 Chef 扩展添加到 Linux 虚拟机

PS C:\> Set-AzureVMChefExtension -VM $VM -ValidationPem "C:\\myorg-validator.pem" -ChefServerUrl "http://ipaddress:port" -OrganizationName "MyOrg" -Linux;

此命令将 Chef 扩展添加到 Linux 虚拟机。 虚拟机启动时,会启动 Chef。 如果未提供 client.rb,则需要提供 Chef 服务器 URL 和组织。

参数

-BootstrapOptions

以 JavaScript 对象表示法(JSON)格式指定启动选项。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-BootstrapVersion

指定随扩展一起安装的 Chef 客户端的版本。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ChefDaemonInterval

指定 chef-service 运行的频率(以分钟为单位)。 如果不希望在 Azure VM 上安装 chef-service,请在此字段中将值设置为 0。

类型:String
别名:ChefServiceInterval
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ChefServerUrl

指定 Chef 服务器的 URL。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ClientRb

指定 Chef client.rb 的完整路径。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Daemon

为无人参与的执行配置 chef-client 服务。 节点平台应为 Windows。 允许的选项:“none”、“service”和“task”。 none - 当前阻止 chef-client 服务配置为服务。 service - 将 chef-client 配置为在后台即服务中自动运行。 任务 - 将 chef-client 配置为在后台自动作为保密任务运行。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-InformationAction

指定此 cmdlet 如何响应信息事件。

此参数的可接受值为:

  • 继续
  • 忽略
  • 询问
  • SilentlyContinue
  • 停止
  • Suspend
类型:ActionPreference
别名:infa
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InformationVariable

指定信息变量。

类型:String
别名:iv
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-JsonAttribute

要添加到 chef-client 首次运行的 JSON 字符串。 例如 -JsonAttribute '{“foo” : “bar”}'

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Linux

指示此 cmdlet 创建基于 Linux 的虚拟机。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-OrganizationName

指定 Chef 扩展的组织名称。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Profile

指定此 cmdlet 从中读取的 Azure 配置文件。 如果未指定配置文件,此 cmdlet 将从本地默认配置文件中读取。

类型:AzureSMProfile
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RunList

指定 Chef 节点运行列表。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Secret

用于加密和解密数据包项值的加密密钥。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-SecretFile

包含用于加密和解密数据包项值的加密密钥的文件的路径。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ValidationClientName

指定验证客户端的名称。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ValidationPem

指定 Chef 验证程序 .pem 文件路径。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Version

指定 Chef 扩展的版本号。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-VM

指定持久性虚拟机对象。

类型:IPersistentVM
别名:InputObject
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Windows

指示此 cmdlet 创建 Windows 虚拟机。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False