你当前正在访问 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 的 Azure 资源管理器 (ARM) 资源的 PowerShell 模块。

语法

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