【Azure Cloud Service(Extended Support)】如何使用外延服务迁移应用?

Support,应用,外延,Service · 浏览次数 : 4

小编点评

## 问题一:部署交换步骤演示 **步骤 1:创建第一个云服务** ```json { "name": "cs1", "location": "NorthCentralUS", "size": 2, "vmSize": "Standard_D2s", "networkProfile": { "id": "your_network_profile_id", "name": "SwappableCloudService" } } ``` **步骤 2:创建第二个云服务,设置可交换属性** ```json { "name": "cs2", "location": "NorthCentralUS", "size": 2, "vmSize": "Standard_D2s", "networkProfile": { "id": "your_network_profile_id", "name": "SwappableCloudService", "enableSwap": true } } ``` **步骤 3:配置方法** ```json { "method": "PowerShell", "parameters": { "subscriptionId": "your_subscription_id", "cloudServiceName": "cs1", "resourceGroupName": "your_resource_group_name" } } ``` **步骤 4:执行部署交换** ``` Invoke-AzDeploy -ResourceGroupName $cs1.ResourceGroupName -Name "cs1-to-cs2-swap" -Method $method -Parameter $parameters ``` ## 问题二:虚拟网络配置示例 ```json { "properties": { "id": "your_virtual_network_id" } } ``` ## 问题三:性能影响 迁移后的虚拟网络的编码格式不会影响应用的性能。 ## 问题四:VM大小调整 在迁移过程中,VM大小会根据设置的VM大小自动调整。如果需要修改VM大小,可以使用以下命令进行调整: ```json { "name": "csdef", "properties": { "vmSize": "your_desired_vm_size" } } ``` ## 问题五:cscfg和csdef格式转换 在迁移之前,cscfg的编码格式会转换为utf-8。在迁移之后,该格式会转换为utf-16。这不会对应用造成影响。 ## 问题六:编码格式转换 在迁移前,cscfg的编码格式会转换为utf-8。在迁移后,该格式会转换为utf-16。但该转换不会对应用造成影响。

正文

问题一:迁移到云服务扩展后,之前经典版的云服务的部署槽会变成单一的部署槽,关于两个云服务扩展版之间的部署交换能否提供一个演示?

对于具有双槽的云服务(Classic),根据文档中的建议,在迁移到云服务(外延支持)时需要先删除过渡槽,将生产槽作为一个独立的云服务进行迁移。

在完成生产槽的迁移后,创建另一个新的云服务(外延支持)来代替之前的过度槽。并将该新创建的云服务与已经迁移的云服务配置为可交换部署。

部署交换的详细步骤如下:

1:将生产槽所迁移的云服务(外延支持)作为第一个云服务(简称为cs1)

2:重新创建一个云服务(外延支持)作为第二个云服务(简称为cs2)。 第二个云服务需要在ARM template内将云服务设置为可交换。

3:设置方法为将NetworkProfile 内SwappableCloudService 的id设置为 cs1的id。

示例如下:

"networkProfile": {
"SwappableCloudService": {
              "id": "[concat(variables('swappableResourcePrefix'), 'Microsoft.Compute/cloudServices/', parameters('cloudServicesToBeSwappedWith'))]"
            },
        }

4:当cs2 部署完成后,就可以对两个云服务进行交换,交换方法有PowerShell, Azure portal和 Rest API calls 三种方法。

 

 

问题二:关于迁移到云服务扩展版之后将会出现虚拟网络的概念,这个虚拟网络需要在代码里怎么配置,能否提供一个配置的例子?

在2017年以后创建的云服务(经典)会自动创建默认的虚拟网络,在迁移过程中,该默认虚拟网络也会被自动迁移。

迁移完成后,在云服务(外延支持)的Configuration内可以查看到该虚拟网络的resource id。

示例截图如下

 

问题三:迁移后新追加的资源是否对性能有影响?

不会

 

问题四:如何修改VM大小?是否需要重新部署全部包?

与云服务一样,在csdef文件中修改VM的大小,修改完成后需要重新打包部署。

 

问题五:官方文档显示,在迁移后cscfg和csdef会删除Diagnostics相关内容。但是实际操作后,发现在迁移后的CSES的cscfg内依然存在Diagnostics相内容。此处是否需要手动删除呢?

Diagnostics相关内容属于云服务的extension,所有enabled的支持的extension都会被自动迁移,如果您不再需要该功能,可以进行手动删除,如果您依然需要该功能,则可以保留。

Technical details and requirements for migrating to Azure Cloud Services (extended support) | Microsoft Learn

 

问题六:cscfg在迁移前,编码格式为utf-8;在迁移后,编码格式为utf-16。以上现象是否需要注意呢?

编码格式从utf-8 到utf-16 并不会对应用造成影响。在博文中有分析解释:https://www.cnblogs.com/lulight/p/17588780.html

 

与【Azure Cloud Service(Extended Support)】如何使用外延服务迁移应用?相似的内容:

【Azure Cloud Service(Extended Support)】如何使用外延服务迁移应用?

问题一:迁移到云服务扩展后,之前经典版的云服务的部署槽会变成单一的部署槽,关于两个云服务扩展版之间的部署交换能否提供一个演示? 对于具有双槽的云服务(Classic),根据文档中的建议,在迁移到云服务(外延支持)时需要先删除过渡槽,将生产槽作为一个独立的云服务进行迁移。 在完成生产槽的迁移后,创建另

【Azure Cloud Service】Cloud Service(Classic) 迁移失败,找不到解决方案怎么办?

… The Cloud Service, is not in a virtual network, and thus, it cannot be migrated, it is important to understand that if there is no VNET on the current Cloud Service, it is not possible to migrate it

【Azure Cloud Service】云服务升级后,查看配置文件发现编码变为utf-16

问题描述 通过Migrate to ARM,把经典云服务升级成云服务(外延支持)后,在查看云服务的配置XML文件,发现文件的编码格式由 UTF-8 改变为 UTF-16 由此,引发了三个问题 1)Cloud Service是否支持 UTF-8, UTF-16 这两种编码呢? 2)为什么 Cloud

【Azure 云服务】Azure Cloud Service中的错误事件 Error Event(Defrag/Perflib) 解答

问题描述 在Azure Cloud Service的实例中,收集到各种 Error Event 内容,本文针对所收集的三种Event进行解析。 1: This operation is not supported on this filesystem. (0x89000020)

【Azure 云服务】为Azure云服务配置上自签名的SSL证书步骤

问题描述 在使用Azure Cloud Service(云服务),默认的情况下都是使用的 HTTP 服务,通过 Visual Studio 2022 创建的默认 Cloud Service项目中,在ServiceDefinition.csdef 服务定义文件中,值默认开启了HTTP 80的Endpo

【Azure 云服务】Cloud Service Worker Role Workerrole突然停机,查看Events发现 Defrag Error (0x8900002D)

问题描述 Cloud Service Worker Role Workerrole突然停机,查看Events,发现是错误源为 Defrag。 错误消息: The volume Windows was not optimized because an error was encountered: Ne

【Azure 云服务】指标哪去了?在执行 Swap (交换生产部署和Staging部署) 操作后看不见云服务的旧指标

问题描述 打开云服务(Cloud Service)的Metrics页面,发现过去了指标不见了? 以虚点构成无数据的图表。 问题解答 查看云服务的活动日志(Activity Logs),发现最近执行的操作有: 1) 发布Staging 部署,把新版本应用先部署到预生产环境 2) 点击 Swap 按钮,

【Azure Service Bus】使用Spring Cloud integration示例代码,为多个 Service Bus的连接使用 ConnectionString 方式

问题描述 查看Service Bus的Java示例代码,发现使用Spring Cloud Integration,配置 Application.yaml 可以连接到两个Service Bus。 但代码中没有使用Connection String 属性配置服务连接。 那么,是否可以直接在此添加 con

【Azure 服务总线】使用Azure Service Bus 时,出现证书错误: 所使用的证书具有无法验证的信任链

问题描述 在Azure中连接 Service Bus 服务发送消息时发生证书错误,抛出证书异常消息: 或 The X.509 certificate CN=servicebus.chinacloudapi.cn, OU=Azure, O=Shanghai Blue Cloud Technology

【Azure Developer】Springboot 集成 中国区的Key Vault 报错 AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found

spring.cloud.azure.keyvault.secret.property-sources[0].profile.cloud-type=AZURE_CHINA