更新中的网络实例 AWS TNB - AWS 电信网络生成器

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

更新中的网络实例 AWS TNB

实例化网络实例后,您可能需要更新基础设施或应用程序。为此,您需要更新网络实例的网络包和参数值,然后部署更新操作以应用更改。

注意事项

  • 您可以更新处于InstantiatedUpdated状态的网络实例。

  • 更新网络实例时,UpdateSolNetworkServiceAPI使用新的网络包和参数值来更新网络实例的拓扑。

  • AWS TNB验证网络实例中的数量NSD和VNFD参数是否不超过 200。强制执行此限制是为了防止不良行为者通过错误或庞大的有效载荷来影响服务。

您可以更新的参数

在更新实例化的网络实例时,您可以更新以下参数:

参数 描述 示例:之前 示例:之后

亚马逊EKS集群版本

您可以将 Amazon EKS 集群控制平面version参数的值更新到下一个次要版本。您无法降级版本。工作节点未更新。

EKSCluster: type: tosca.nodes.AWS.Compute.EKS properties: version: "1.28"
EKSCluster: type: tosca.nodes.AWS.Compute.EKS properties: version: "1.29"

缩放属性

您可以更新EKSManagedNodeEKSSelfManagedNodeTOSCA节点的缩放属性。

EKSNodeGroup01: ... scaling: properties: desired_size: 1 min_size: 1 max_size: 1
EKSNodeGroup01: ... scaling: properties: desired_size: 2 min_size: 0 max_size: 2

亚马逊EBSCSI插件属性

您可以在您的亚马逊EKS集群上启用或禁用亚马逊EBSCSI插件。您也可以更改插件版本。

EKSCluster: capabilities: ... ebs_csi: properties: enabled: false
EKSCluster: capabilities: ... ebs_csi: properties: enabled: true version: "v1.30.0-eksbuild.1"

VNF

您可以引用VNFs中的NSD并将它们部署到NSD使用VNFDeploymentTOSCA节点在中创建的集群。作为更新的一部分,您将能够向网络添加、更新和删除VNFs。

vnfds: - descriptor_id: "43c012fa-2616-41a8-a833-0dfd4c5a049e" namespace: "vnf1" - descriptor_id: "64222f98-ecd6-4871-bf94-7354b53f3ee5" namespace: "vnf2" // Deleted VNF ... SampleVNF1HelmDeploy: type: tosca.nodes.AWS.Deployment.VNFDeployment requirements: cluster: EKSCluster vnfs: - vnf1.SampleVNF1 - vnf2.SampleVNF2
vnfds: - descriptor_id: "59f77222-79e9-4dc1-be53-5712ad06e31b" namespace: "vnf1" // Updated VNF - descriptor_id: "b7e072dc-839d-4fac-916c-561a166da1fc" namespace: "vnf3" // Added VNFn .... SampleVNF1HelmDeploy: type: tosca.nodes.AWS.Deployment.VNFDeployment requirements: cluster: EKSCluster vnfs: - vnf1.SampleVNF1 - vnf3.SampleVNF3

钩子

要在创建网络函数之前和之后运行生命周期操作,请将pre_createpost_create挂钩添加到VNFDeployment节点。

在此示例中,PreCreateHook挂钩将在实例化之前vnf3.SampleVNF3运行,PostCreateHook挂钩将在实例化之后vnf3.SampleVNF3运行。

vnfds: - descriptor_id: "43c012fa-2616-41a8-a833-0dfd4c5a049e" namespace: "vnf1" - descriptor_id: "64222f98-ecd6-4871-bf94-7354b53f3ee5" namespace: "vnf2" ... SampleVNF1HelmDeploy: type: tosca.nodes.AWS.Deployment.VNFDeployment requirements: cluster: EKSCluster vnfs: - vnf1.SampleVNF1 - vnf2.SampleVNF2 // Removed during update
vnfds: - descriptor_id: "43c012fa-2616-41a8-a833-0dfd4c5a049e" namespace: "vnf1" - descriptor_id: "b7e072dc-839d-4fac-916c-561a166da1fc" namespace: "vnf3" .... SampleVNF1HelmDeploy: type: tosca.nodes.AWS.Deployment.VNFDeployment requirements: cluster: EKSCluster vnfs: - vnf1.SampleVNF1 // No change to this function, as the namespace and uuid remain the same - vnf3.SampleVNF3 // New VNF as the namespace, vnf3, was not previously present interfaces: Hook: post_create: PostCreateHook pre_create: PreCreateHook

钩子

要在更新网络函数之前和之后运行生命周期操作,可以将pre_update挂钩和post_update挂钩添加到VNFDeployment节点。

在此示例中,PreUpdateHook将在更新之前运行vnf1.SampleVNF1,并在PostUpdateHook更新到命名空间 vnf1 所指示uuidvnf包之后vnf1.SampleVNF1运行。

vnfds: - descriptor_id: "43c012fa-2616-41a8-a833-0dfd4c5a049e" namespace: "vnf1" - descriptor_id: "64222f98-ecd6-4871-bf94-7354b53f3ee5" namespace: "vnf2" ... SampleVNF1HelmDeploy: type: tosca.nodes.AWS.Deployment.VNFDeployment requirements: cluster: EKSCluster vnfs: - vnf1.SampleVNF1 - vnf2.SampleVNF2
vnfds: - descriptor_id: "0ebe4e95-bd87-44bd-b8a1-918466606a14" namespace: "vnf1" - descriptor_id: "64222f98-ecd6-4871-bf94-7354b53f3ee5" namespace: "vnf2" ... SampleVNF1HelmDeploy: type: tosca.nodes.AWS.Deployment.VNFDeployment requirements: cluster: EKSCluster vnfs: - vnf1.SampleVNF1 // A VNF update as the uuid changed for namespace "vnf1" - vnf2.SampleVNF2 // No change to this function as namespace and uuid remain the same interfaces: Hook: pre_update: PreUpdateHook post_update: PostUpdateHook

更新网络实例

Console
使用控制台更新网络实例
  1. 打开 AWS TNB控制台,网址为https://console.aws.amazon.com/tnb/

  2. 在导航窗格中,选择网络

  3. 选择网络实例。只有当网络实例的状态为Instantiated或时,您才能对其进行更新Updated

  4. 选择 “操作” 和 “更新”

    将出现 “更新实例” 页面,其中包含当前基础设施中的网络详细信息和参数列表。

  5. 选择新的网络套餐。

    新网络包中的参数显示在 “更新的参数” 部分中。

  6. (可选)在 “已更新的参数” 部分中更新参数值。有关您可以更新的参数值列表,请参阅您可以更新的参数

  7. 选择 “更新网络”。

    AWS TNB验证请求并开始部署。将出现 “部署状态” 页面。

  8. 使用刷新图标跟踪您的网络实例的部署状态。您也可以在 “部署任务” 部分启用自动刷新,以跟踪每个任务的进度。

    当部署状态更改为时Completed,网络实例即会更新。

    • 如果验证失败,则网络实例将与您请求更新之前的状态保持不变,可以是InstantiatedUpdated

    • 如果更新失败,则会显示网络实例状态Update failed。为每项失败的任务选择链接以确定原因。

    • 如果更新成功,则会显示Updated网络实例状态。

AWS CLI
使用CLI更新网络实例

使用带有UPDATE_NS更新类型的update-sol-network-instance命令来更新网络实例。

aws tnb update-sol-network-instance --ns-instance-id ^ni-[a-f0-9]{17}$ --update-type UPDATE_NS --update-ns "{\"nsdInfoId\":\"^np-[a-f0-9]{17}$\", \"additionalParamsForNs\": {\"param1\": \"value1\"}}"