Sie können benutzerdefinierte Ressourcen importieren, die standardmäßig nicht zusammen mit einem Cluster importiert werden.

Die benutzerdefinierten Ressourcen werden nicht von NCP erstellt. Die Datei nsxt_mp_to_policy_converter.py enthält Methoden (Suchen Sie nach dem Wort „custom“ in den Methodendefinitionen), die außer Kraft gesetzt werden können, um das Verhalten zu implementieren, das während des Imports von Managerobjekten in den Richtlinienmodus erwartet wird. Standardmäßig führt NCP keine Aktionen für diese Ressourcen aus. Daher wird kein benutzerdefiniertes Verhalten implementiert. Wenn Sie eine benutzerdefinierte Ressourcen-ID angeben, wird eine einfache Anforderung zum Importieren erstellt (die Richtlinien-ID wird in diesem Fall von display_name abgeleitet und in Phase 2 und 3 werden keine Aktualisierungen durchgeführt). Sie können die IDs dieser Ressourcen in der Benutzerspezifikationsdatei angeben (siehe Beispiel unten), indem Sie den Bezeichner custom_resources verwenden. Die entsprechende Syntax lautet wie folgt:

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>

Beispiel für das Angeben von benutzerdefinierten Ressourcen in 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'

Unter Reihenfolge der Ressourcenspezifikation erfahren Sie, wie benutzerdefinierte Ressourcen in user-spec.yaml angegeben werden sollten.