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 Stack HCI 群集或 Windows Server 2019 Datacenter 故障转移群集上进行部署,则必须指定 -workingDir-cloudConfigLocation 参数。 对于单节点 Windows Server 2019 Datacenter,所有参数都是可选的,并设置为默认值。 但是,为了获得最佳性能,建议使用 2-4 节点的 Azure Stack HCI 群集部署。

示例

使用 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

允许禁用群集共享卷上的 VM 数据的自动分发 (CSV) 。 若要禁用自动分发,请使用 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

-insecure

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

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 参考