Vous pouvez migrer des ressources personnalisées qui ne sont pas migrées par défaut lorsqu'un cluster est importé.

Les ressources personnalisées ne sont pas créées par NCP. Il existe des méthodes dans le fichier nsxt_mp_to_policy_converter.py (recherchez le mot « custom » dans les définitions de méthode) qui peuvent être remplacées pour mettre en œuvre le comportement prévu lors de l'importation du gestionnaire vers la stratégie. Par défaut, NCP n'effectue aucune action pour ces ressources et, par conséquent, aucun comportement personnalisé n'est implémenté. Si vous spécifiez un ID de ressource personnalisée, une demande simple pour l'importer sera créée (l'ID de stratégie est déduit de display_name dans ce cas, aucune mise à jour n'est effectuée aux phases 2 et 3). Vous pouvez spécifier les ID de ces ressources dans le fichier de spécification utilisateur (voir l'exemple ci-dessous) à l'aide de l'identifiant custom_resources. Voici la syntaxe :
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>

Exemple de spécification de ressources personnalisées dans 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'

Reportez-vous à la section « Ordre de spécification des ressources » ci-dessous pour voir comment spécifier des ressources personnalisées dans user-spec.yaml.

Ordre de spécification des ressources

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