Set-AksHciConfig

摘要

设置或更新Azure Kubernetes 服务主机的配置设置。

语法

设置主机的配置

Set-AksHciConfig  -imageDir <String>
                  -workingDir <String>
                  -cloudConfigLocation <String>
                  -vnet <Virtual Network>
                 [-createAutoConfigContainers {true, false}]
                 [-offlineDownload]
                 [-offsiteTransferCompleted]
                 [-mode {minimum, full}]
                 [-stagingShare <String>]
                 [-nodeConfigLocation <String>]
                 [-controlPlaneVmSize <VmSize>]
                 [-sshPublicKey <String>]
                 [-macPoolStart <String>]
                 [-macPoolEnd <String>]       
                 [-proxySettings <ProxySettings>]
                 [-cloudServiceCidr <String>]
                 [-version <String>]
                 [-nodeAgentPort <int>]
                 [-nodeAgentAuthorizerPort <int>]
                 [-cloudAgentPort <int>]
                 [-cloudAgentAuthorizerPort <int>]
                 [-clusterRoleName <String>]
                 [-cloudLocation <String>]
                 [-concurrentDownloads <int>]
                 [-skipHostLimitChecks]
                 [-skipRemotingChecks]
                 [-skipValidationChecks]
                 [-insecure]
                 [-skipUpdates]
                 [-forceDnsReplication]   

说明

设置Azure Kubernetes 服务主机的配置设置。 如果要在 2-4 节点的 Azure 本地群集或 Windows Server 2019 数据中心故障转移群集上部署,则必须指定 -workingDir-cloudConfigLocation 参数。 对于单节点 Windows Server 2019 Datacenter,所有参数都是可选的,并设置为其默认值。 但是,为了获得最佳性能,我们建议使用 2-4 节点的 Azure 本地群集部署。

示例

使用 DHCP 网络在 2-4 节点群集上部署

PS C:\> $vnet = New-AksHciNetworkSetting -name newNetwork -vswitchName "DefaultSwitch" -vipPoolStart "172.16.255.0" -vipPoolEnd "172.16.255.254" 

Set-AksHciConfig -workingDir c:\ClusterStorage\Volume1\WorkDir -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16"

使用静态 IP 网络进行部署

PS C:\> $vnet = New-AksHciNetworkSetting -name newNetwork -vswitchName "DefaultSwitch" -k8snodeippoolstart "172.16.10.0" -k8snodeippoolend "172.16.10.255" -vipPoolStart "172.16.255.0" -vipPoolEnd "172.16.255.254" -ipaddressprefix "172.16.0.0/16" -gateway "172.16.0.1" -dnsservers "172.16.0.1" 

Set-AksHciConfig -workingDir c:\ClusterStorage\Volume1\WorkDir -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16"

使用代理服务器进行部署

PS C:\> $proxySettings = New-AksHciProxySetting -name "corpProxy" -http http://contosoproxy:8080 -https https://contosoproxy:8443 -noProxy localhost,127.0.0.1,.svc,10.96.0.0/12,10.244.0.0/16 -credential $proxyCredential

Set-AksHciConfig -workingDir c:\ClusterStorage\Volume1\WorkDir -cloudConfigLocation c:\clusterstorage\volume1\Config -proxySetting $proxySettings -vnet $vnet -cloudservicecidr "172.16.10.10/16"

参数

-imageDir

AKS 混合在其中存储其 VHD 映像的目录的路径。 此参数是必需的。 路径必须指向共享存储路径,例如 C:\ClusterStorage\Volume2\ImageStore,或 SMB 共享,例如 \\FileShare\ImageStore

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: %systemdrive%\AksHciImageStore
Accept pipeline input: False
Accept wildcard characters: False

-workingDir

用于存储小型文件的模块的工作目录。 此参数是必需的。 路径必须指向共享存储路径,例如 c:\ClusterStorage\Volume2\ImageStore

Type: System.String
Parameter Sets: (All)
Aliases:

Required: True
Position: Named
Default value: %systemdrive%\AksHci
Accept pipeline input: False
Accept wildcard characters: False

-cloudConfigLocation

云代理存储其配置的位置。 此参数是必需的。 路径必须指向共享存储路径,例如 C:\ClusterStorage\Volume2\ImageStore,或 SMB 共享,例如 \\FileShare\ImageStore。 该位置需要位于高度可用的共享上,以便始终可访问存储。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: True
Position: Named
Default value: %systemdrive%\wssdcloudagent
Accept pipeline input: False
Accept wildcard characters: False

vnet-

使用New-AksHciNetworkSetting命令创建的 AksHciNetworkSetting 对象的名称

Type: VirtualNetwork
Parameter Sets: (All)
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-createAutoConfigContainers

允许禁用群集共享卷(CSV)上的 VM 数据的自动分发。 若要禁用自动分发,请使用 false 作为此参数的自变量。 如果禁用自动分发,则仅使用所选 CSV imageDir 。 默认值为 true

Type: System.Boolean
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: True
Accept pipeline input: False
Accept wildcard characters: False

-offlineDownload

在 Install-AksHci 期间调用脱机下载。 还必须运行 Enable-AksHciOfflineDownload。 此标志与 -stagingShare 参数一起使用。

Type: System.Boolean
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-offsiteTransferCompleted

设置部署,以使用在 Install-AksHci 期间下载的项目并将其传输到部署服务器。 此标志与参数-stagingShare-offlineDownload起使用。

-模式

要用于脱机下载的下载模式。 如果需要 AKS 混合部署的最低映像,请使用 minimum 。 此选项包括所需的 Linux 映像,并且仅包含所需的 Kubernetes 映像。 如果需要 AKS 混合部署的所有映像,请使用 full 。 此选项包括所有 Linux 和 Windows 映像以及所有支持的 Kubernetes 映像。 将此参数与 -offlineDownload 参数结合使用。 默认为 full

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: full
Accept pipeline input: False
Accept wildcard characters: False

-stagingShare

要下载映像的本地路径。 与 offlineDownload 参数一起使用。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: True
Accept pipeline input: False
Accept wildcard characters: False

-nodeConfigLocation

节点代理在其中存储其配置的位置。 每个节点都有一个节点代理,因此其配置是该节点的本地配置。 此位置必须是本地路径。 默认为 %systemdrive%\programdata\wssdagent 所有部署。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: %systemdrive%\programdata\wssdagent
Accept pipeline input: False
Accept wildcard characters: False

-controlPlaneVmSize

要为控制平面创建的 VM 的大小。 若要获取可用 VM 大小的列表,请运行 Get-AksHciVmSize

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: Standard_A4_V2
Accept pipeline input: False
Accept wildcard characters: False

-sshPublicKey

SSH 公钥文件的路径。 使用此公钥,可以登录到 AKS 混合部署创建的任何 VM。 如果你有自己的 SSH 公钥,请在此处传递其位置。 如果未提供任何密钥,我们会在 .pub 下 %systemdrive%\akshci\.ssh\akshci_rsa查找一个密钥。 如果文件不存在,则会在此位置生成 SSH 密钥对,并使用该密钥对。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-macPoolStart

指定要用于 Azure Kubernetes 服务主机 VM 的 MAC 池的 MAC 地址的开头。 MAC 地址的语法要求第一个字节的最小有效位应始终为 0,第一个字节应始终为偶数(即 00、02、04、06...)。典型的 MAC 地址如下所示:02:1E:2B:78:00:00。 将 MAC 池用于长期部署,以便分配的 MAC 地址是一致的。 如果要求 VM 具有特定的 MAC 地址,则 MAC 池非常有用。 默认为 None

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-macPoolEnd

指定要用于 Azure Kubernetes 服务主机 VM 的 MAC 池的 MAC 地址的结尾。 MAC 地址的语法要求第一个字节的最小有效位应始终为 0,第一个字节应始终为偶数(即 00、02、04、06...)。作为传递 -macPoolEnd 的地址的第一个字节应与传递 -macPoolStart的地址的第一个字节相同。 将 MAC 池用于长期部署,以便分配的 MAC 地址是一致的。 如果要求 VM 具有特定的 MAC 地址,则 MAC 池非常有用。 默认为 None

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-proxySettings

使用 New-AksHciProxySetting 创建的代理对象。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-cloudServiceCidr

提供要分配给 MOC CloudAgent 服务的静态 IP/网络前缀。 应使用 CIDR 格式提供此值;例如, 192.168.1.2/16。 可能需要指定此参数,以确保网络上的任何重要内容始终可访问,因为 IP 地址不会更改。 默认为 None

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-version

要部署的 AKS 混合版本。 默认值为最新版本。 不建议更改默认值。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: Latest version
Accept pipeline input: False
Accept wildcard characters: False

-nodeAgentPort

节点代理应侦听的 TCP/IP 端口号,默认为 45000。 不建议更改默认值。

Type: System.Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: 45000
Accept pipeline input: False
Accept wildcard characters: False

-nodeAgentAuthorizerPort

节点代理应用于其授权端口的 TCP/IP 端口号。 默认值为 45001。 不建议更改默认值。

Type: System.Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: 45001
Accept pipeline input: False
Accept wildcard characters: False

-cloudAgentPort

云代理应侦听的 TCP/IP 端口号。 默认值为 55000。 不建议更改默认值。

Type: System.Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: 55000
Accept pipeline input: False
Accept wildcard characters: False

-cloudAgentAuthorizerPort

云代理应将其用于其授权端口的 TCP/IP 端口号。 默认值为 65000。 不建议更改默认值。

Type: System.Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: 65000
Accept pipeline input: False
Accept wildcard characters: False

-clusterRoleName

指定在群集中创建云代理作为通用服务时要使用的名称。 此参数默认为具有 ca - 前缀和 GUID 后缀的唯一名称。 不建议更改默认值。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: A unique name with a prefix of ca- and a guid suffix
Accept pipeline input: False
Accept wildcard characters: False

-cloudLocation

提供自定义的 Microsoft 运营云位置名称。 默认名称为 MocLocation。 不建议更改默认值。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: MocLocation
Accept pipeline input: False
Accept wildcard characters: False

-skipHostLimitChecks

请求脚本跳过任何检查,以确认内存和磁盘空间是否可用,然后再允许部署继续。 不建议使用此设置。

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-skipRemotingChecks

脚本跳过任何检查的请求,以确认对本地和远程节点的远程处理功能。 不建议使用此设置。

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-不安全的

以不安全模式(无 TLS 安全连接)部署 AKS 混合组件,例如云代理和节点代理。 不建议在生产环境中使用不安全模式。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-skipUpdates

如果要跳过任何可用的更新,请使用此标志。 不建议使用此设置。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-forceDnsReplication

某些系统上的 DNS 复制最多可能需要一小时。 这会导致部署速度缓慢。 如果遇到此问题,你将看到该 Install-AksHci 问题停滞在循环中。 若要解决此问题,请尝试使用此标志。 标志 -forceDnsReplication 不是有保证的修补程序。 如果标志后面的逻辑失败,则错误会隐藏,并且命令会继续,就像未提供标志一样。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-skipValidationChecks

如果要跳过环境基础结构和用户配置输入的验证检查,请使用此标志。 这些检查突出显示了在继续安装之前要解决的潜在问题。 不建议使用此设置。

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

后续步骤

AksHci PowerShell 参考