クラスタが移行されると、デフォルトで移行されないカスタム リソースを移行できます。

カスタム リソースが NCP によって作成されることはありません。nsxt_mp_to_policy_converter.py ファイル内のメソッドを使用すると、マネージャからポリシーへのインポート時に予期される動作を変更することができます(メソッドの定義で「custom」を検索してください)。デフォルトでは、NCP はカスタム リソースに対してアクションを実行しないため、カスタム動作は実装されていません。カスタム リソース ID を指定すると、インポート用の簡単な要求が作成されます(この場合、ポリシー ID は display_name から発生し、フェーズ 2 と 3 で更新は実行されません)。custom_resources 識別子を使用して、これらのリソースの ID をユーザー仕様ファイル(以下の例を参照)で指定できます。構文は次のとおりです。
k8s-clusters:
  <k8s cluster name>:
    <NSX Resource Shell Class Name>:
      <NSX Resource - 1 Class Name>:
        custom_resources:
          <NSX Resource - 1A ID>:
            metadata:
              - "key": <metadata key recognized by Migration API>
                "value": <metadata value associated with the key recognized by
                          Migration API>
            linked_ids:
              - "key": <linked_ids key recognized by Migration API>
                "value": <linked_ids value associated with the key recognized by
                          Migration API>
            <NSX Resource - 2 Class Name>: # these resources are imported after NSX Resource - 1A is
              custom_resources:
                <NSX Resource - 2A ID>:
                  metadata:
                    - "key": <metadata key recognized by Migration API>
                      "value": <metadata value associated with the key
                                recognized by Migration API>
                  linked_ids:
                    - "key": <linked_ids key recognized by Migration API>
                      "value": <linked_ids value associated with the key
                                recognized by Migration API>      <NSX Resource - 1 Class Name>:
          <NSX Resource - 1B ID>:
            metadata:
              - "key": <metadata key recognized by Migration API>
                "value": <metadata value associated with the key recognized by
                          Migration API>
            linked_ids:
              - "key": <linked_ids key recognized by Migration API>
                "value": <linked_ids value associated with the key recognized by
                          Migration API>

user-spec.yaml でのカスタム リソースの指定例

k8s-clusters:
   k8scluster:
    # top-tier-router-id is required for each cluster
    top-tier-router-id: t1-router-id
    top-tier-router-type: TIER1
    # Provide custom resources as follow:
    NamespaceResources:
      Tier1Router:
        custom_resources:
          # Custom resources are specified only with MP ID
          6d93a932-87ea-42de-a30c-b39f397322b0:
            metadata:
              # It should be a list
              - key: 'metadata-key'
                value: 'metadata-value'
            linked_ids:
              # It should be a list
              - key: 'linked_id-key'
                value: 'linked_id-value'
      NATRules:
        custom_resources:
          # Custom resources are specified only with MP ID
          536870924:
            metadata:
              # It should be a list
              - key: 'metadata-key'
                value: 'metadata-value'
            linked_ids:
              # It should be a list
              - key: 'linked_id-key'
                value: 'linked_id-value'

user-spec.yaml でカスタム リソースを指定する方法については、以下の「リソースの指定順序」セクションを参照してください。

リソースの指定順序

SharedResources
- IpBlock
- IpPool
  - IpPoolAllocation (specified as ip-allocations; see the sample user-spec.yaml for an example)
- Tier0Router
  - Tier0RouterPorts (cannot be specified in user-spec.yaml)
  - Tier0RouterConfig (cannot be specified in user-spec.yaml)
- Tier1Router
- SpoofGuardSwitchingProfile
- SwitchSecuritySwitchingProfile
- QosSwitchingProfile
- IpDiscoverySwitchingProfile
- MacManagementSwitchingProfile
- NodeLogicalSwitch
- LogicalPort
- Tier1RouterPortsAndStaticRoutes
- NatRule
- IpSet
- MacSet
- NsGroup
- Certificate
- LBClientSSlProfile
- LBServerSSlProfile
- LBCookiePersistenceProfile
- LBSourceIPPersistenceProfile
- LBGenericPersistenceProfile
- LbHttpMonitor
- LbHttpsMonitor
- LbIcmpMonitor
- LbTcpMonitor
- LbUdpMonitor
- LbPassiveMonitor
- LbHttpProfile
- LbFastTcpProfile
- LbFastUdpProfile
- LbPool
- LbVirtualServer
- LbService
- NSService
- NSProfile
- FirewallSectionsAndRules
- GatewayFirewallSectionsAndRules
 
ClusterResources
- Tier1Router
- LogicalPort
- Tier1RouterPortsAndStaticRoutes
- GatewayFirewallSectionsAndRules
 
NamespaceResources
- ExternalIpPoolsAllocations
- IpBlockSubnet
  - IpPoolAllocation
- Tier1Router
  - Tier1RouterPorts
- SpoofguradProfile
- NodeLogicalSwitch
- NATRules
- NsGroup
- GatewayFirewallSectionsAndRules
 
PodResources
- ExternalIpPoolsAllocations
- LogicalPort
- NATRules
 
NetworkPolicyResources
- IpSet
- FirewallSectionsAndRules
 
SecretResources
- Certificate
 
LBClusterWideResources
- ExternalIpPoolsAllocations
- IpPool
  - IpPoolAllocation
- NodeLogicalSwitch
- Tier1Router
- Tier1RouterPortsAndStaticRoutes
- Certificate
- ServerPool
- CookiePersistenceProfile
- SourceIPPersistenceProfile
- ApplicationProfile
- VirtualServer
- GatewayFirewallSectionsAndRules
 
L4ServiceResources
- ExternalIpPoolsAllocations
- SourceIPPersistenceProfile
- VirtualServer
- LBService
- DefaultLBService