Service Fabric 集群 VMSS OS 从 2016 升级到 2019
Service Fabric Cluster VMSS OS upgrade from 2016 to 2019
我的目标是将 Service Fabric VMSS OS 从 2016 年升级到 2019 年。
已在 Scale up a Service Fabric cluster primary node type
上关注 Microsoft 文档
- 使用这些示例 templates and parameter 文件部署了具有两种节点类型和两个规模集(每个节点类型一个规模集)的初始集群。两个规模集的大小都是 Standard D2_V2 和 运行ning Windows Server 2012 R2 Datacenter
- 使用这些示例 template and parameters 文件将新的规模集部署到主节点类型。新的规模集 VM 大小为标准 D4_V2 和 运行 Windows Server 2016 Datacenter with Containers
面临以下问题
- 根据文档,新规模集将成为 Service Fabric 集群的一部分,但新规模集并未反映在 Service Fabric Explore 中。
一旦 VMSS 成为服务结构集群的一部分,将禁用 windows 2012 节点规模集
有什么想法吗? (或)执行 VMSS OS 从 windows 2016 升级到 windows 2019
的任何其他替代方法
Scale up a Service Fabric cluster primary node type
上的 Microsoft 参考 link
我对上述查询的发现。我已成功将 Service Fabric Cluster VMSS OS 从 2016 升级到 2019
-在 ARM 模板中新创建的 VMSS 不是 Service Fabric 集群的一部分。在 nodeTypes
下执行以下更改
"managementEndpoint": "[concat('https://',reference(concat(parameters('lbIPName'),'-','0')).dnsSettings.fqdn,':',parameters('nt0fabricHttpGatewayPort'))]",
"nodeTypes": [
{
"name": "[parameters('vmNodeType2Name')]",
"applicationPorts": {
*
*
},
当您部署具有上述更改的 ARM 模板时,新创建的 VMSS 将成为现有服务结构集群的一部分。
-使用以下命令连接服务结构集群
$clusterName = "Cluser-URL:19000"
$thumb = "xxxxxxxxxxx"
Connect-ServiceFabricCluster `
-ConnectionEndpoint $clusterName `
-KeepAliveIntervalInSec 10 `
-X509Credential `
-ServerCertThumbprint $thumb `
-FindType FindByThumbprint `
-FindValue $thumb `
-StoreLocation CurrentUser `
-StoreName My
-禁用需要删除的服务结构集群节点(即 2016 VMSS)
$nodeNames = @("_NTvm1_0","_NTvm1_1","_NTvm1_2","_NTvm1_3","_NTvm1_4")
Write-Host "Disabling nodes..."
foreach($name in $nodeNames){
Disable-ServiceFabricNode -NodeName $name -Intent RemoveNode -Force
}
通过最初成功执行上述命令,节点将处于禁用状态,一段时间后将处于禁用状态。这可以使用 service fabric explorer
进行监控
-下一步是删除我们在上一步中禁用的 VMSS
$scaleSetName = "NTvm1"
$resourceGroupName = "RG-NAME"
Remove-AzVmss `
-ResourceGroupName $resourceGroupName `
-VMScaleSetName $scaleSetName `
-Force
Write-Host "Removed scale set $scaleSetName"
-此时服务结构资源管理器以未找到页面错误结束。不要恐慌。需要将负载平衡设置更改为新创建的 VMSS
$lbname="Newly Created LB Name"
$oldPublicIpName="Old LB PublicIP"
$newPublicIpName="New LB PublicIP"
$oldprimaryPublicIP = Get-AzPublicIpAddress -Name $oldPublicIpName -ResourceGroupName $groupname
$primaryDNSName = $oldprimaryPublicIP.DnsSettings.DomainNameLabel
$primaryDNSFqdn = $oldprimaryPublicIP.DnsSettings.Fqdn
Remove-AzLoadBalancer -Name $lbname -ResourceGroupName $groupname -Force
Remove-AzPublicIpAddress -Name $oldPublicIpName -ResourceGroupName $groupname -Force
-需要更新 DNS 设置
settings of Public IP address related to old Primary Node Type
$PublicIP = Get-AzPublicIpAddress -Name $newPublicIpName -ResourceGroupName $groupname
$PublicIP.DnsSettings.DomainNameLabel = $primaryDNSName
$PublicIP.DnsSettings.Fqdn = $primaryDNSFqdn
Set-AzPublicIpAddress -PublicIpAddress $PublicIP
一旦完成,我们就可以开始了
-使用 Get-ServiceFabricClusterHealth 命令检查服务结构健康状态
注意
确保您的集群可靠性级别设置为“银”。 Microsoft 推荐将其用于生产环境。
我的目标是将 Service Fabric VMSS OS 从 2016 年升级到 2019 年。
已在 Scale up a Service Fabric cluster primary node type
上关注 Microsoft 文档- 使用这些示例 templates and parameter 文件部署了具有两种节点类型和两个规模集(每个节点类型一个规模集)的初始集群。两个规模集的大小都是 Standard D2_V2 和 运行ning Windows Server 2012 R2 Datacenter
- 使用这些示例 template and parameters 文件将新的规模集部署到主节点类型。新的规模集 VM 大小为标准 D4_V2 和 运行 Windows Server 2016 Datacenter with Containers
面临以下问题
- 根据文档,新规模集将成为 Service Fabric 集群的一部分,但新规模集并未反映在 Service Fabric Explore 中。
一旦 VMSS 成为服务结构集群的一部分,将禁用 windows 2012 节点规模集
有什么想法吗? (或)执行 VMSS OS 从 windows 2016 升级到 windows 2019
的任何其他替代方法Scale up a Service Fabric cluster primary node type
上的 Microsoft 参考 link我对上述查询的发现。我已成功将 Service Fabric Cluster VMSS OS 从 2016 升级到 2019
-在 ARM 模板中新创建的 VMSS 不是 Service Fabric 集群的一部分。在 nodeTypes
下执行以下更改"managementEndpoint": "[concat('https://',reference(concat(parameters('lbIPName'),'-','0')).dnsSettings.fqdn,':',parameters('nt0fabricHttpGatewayPort'))]",
"nodeTypes": [
{
"name": "[parameters('vmNodeType2Name')]",
"applicationPorts": {
*
*
},
当您部署具有上述更改的 ARM 模板时,新创建的 VMSS 将成为现有服务结构集群的一部分。
-使用以下命令连接服务结构集群
$clusterName = "Cluser-URL:19000"
$thumb = "xxxxxxxxxxx"
Connect-ServiceFabricCluster `
-ConnectionEndpoint $clusterName `
-KeepAliveIntervalInSec 10 `
-X509Credential `
-ServerCertThumbprint $thumb `
-FindType FindByThumbprint `
-FindValue $thumb `
-StoreLocation CurrentUser `
-StoreName My
-禁用需要删除的服务结构集群节点(即 2016 VMSS)
$nodeNames = @("_NTvm1_0","_NTvm1_1","_NTvm1_2","_NTvm1_3","_NTvm1_4")
Write-Host "Disabling nodes..."
foreach($name in $nodeNames){
Disable-ServiceFabricNode -NodeName $name -Intent RemoveNode -Force
}
通过最初成功执行上述命令,节点将处于禁用状态,一段时间后将处于禁用状态。这可以使用 service fabric explorer
进行监控-下一步是删除我们在上一步中禁用的 VMSS
$scaleSetName = "NTvm1"
$resourceGroupName = "RG-NAME"
Remove-AzVmss `
-ResourceGroupName $resourceGroupName `
-VMScaleSetName $scaleSetName `
-Force
Write-Host "Removed scale set $scaleSetName"
-此时服务结构资源管理器以未找到页面错误结束。不要恐慌。需要将负载平衡设置更改为新创建的 VMSS
$lbname="Newly Created LB Name"
$oldPublicIpName="Old LB PublicIP"
$newPublicIpName="New LB PublicIP"
$oldprimaryPublicIP = Get-AzPublicIpAddress -Name $oldPublicIpName -ResourceGroupName $groupname
$primaryDNSName = $oldprimaryPublicIP.DnsSettings.DomainNameLabel
$primaryDNSFqdn = $oldprimaryPublicIP.DnsSettings.Fqdn
Remove-AzLoadBalancer -Name $lbname -ResourceGroupName $groupname -Force
Remove-AzPublicIpAddress -Name $oldPublicIpName -ResourceGroupName $groupname -Force
-需要更新 DNS 设置
settings of Public IP address related to old Primary Node Type
$PublicIP = Get-AzPublicIpAddress -Name $newPublicIpName -ResourceGroupName $groupname
$PublicIP.DnsSettings.DomainNameLabel = $primaryDNSName
$PublicIP.DnsSettings.Fqdn = $primaryDNSFqdn
Set-AzPublicIpAddress -PublicIpAddress $PublicIP
一旦完成,我们就可以开始了
-使用 Get-ServiceFabricClusterHealth 命令检查服务结构健康状态
注意 确保您的集群可靠性级别设置为“银”。 Microsoft 推荐将其用于生产环境。