Compartir a través de


Clonación de una instancia de IoT Operations (versión preliminar)

Puede clonar una instancia de Azure IoT Operations existente para crear una nueva instancia con la misma configuración y ajustes. La clonación es útil para crear una copia de seguridad de la instancia o para configurar una nueva instancia con la misma configuración con fines de prueba o desarrollo.

Entre los escenarios de casos de uso para clonar se incluyen:

  • Recuperación ante desastres: cree una copia de seguridad de la instancia de Azure IoT Operations que se pueda usar para restaurar la instancia si se produce un desastre.
  • Pruebas y desarrollo: configure una nueva instancia de Azure IoT Operations con la misma configuración que una instancia existente con fines de prueba o desarrollo.
  • Migración: mueva la instancia de Azure IoT Operations a un nuevo clúster o grupo de recursos mediante la clonación de la instancia en la nueva ubicación.
  • Escalado: cree varias instancias de la instancia de Azure IoT Operations para controlar el aumento de la carga de trabajo o distribuir la carga entre varias instancias.

Nota:

La característica de clonación está en versión preliminar y en desarrollo.

Prerrequisitos

  • Una instancia de Operaciones de IoT de Azure implementada en un clúster. Para más información, consulte Implementación de Operaciones de IoT de Azure.

  • CLI de Azure instalada en la máquina de desarrollo. Este escenario requiere la versión 2.53.0 o posterior de la CLI de Azure. Use az --version para comprobar la versión y az upgrade para actualizarla si es necesario. Para obtener más información, consulte Cómo instalar la CLI de Azure.

  • Extensión de Operaciones de IoT de Azure para Azure CLI. El clon actualmente es compatible con el siguiente rango de versiones de la instancia de IoT Operations: 1.0.34>=,<1.2.0. Use el siguiente comando para actualizar o instalar la extensión. Reemplace <VERSION_NUMBER> con una versión que sea compatible con su instancia.

    az extension add --upgrade --name azure-iot-ops --version <VERSION_NUMBER>
    

Información general sobre el comando Clone

Use el az iot ops clone comando para crear una nueva instancia de Azure IoT Operations basada en una existente.

El clone comando analiza una instancia de Azure IoT Operations y la reproduce de forma de infraestructura como código mediante plantillas de ARM. Puede aplicar la salida del clon a otro clúster conectado, lo que se conoce como replicación. También puede guardar el clon en un directorio local para su uso posterior y realizar algunos cambios de configuración antes de aplicarlo a un clúster.

La operación de clonación consta de tres componentes principales: el modelo, que es la instancia de origen, el destino, que es la instancia de destino y la plantilla. En el diagrama siguiente se muestra el flujo de clonación. El clone comando analiza la instancia de origen y la replica a través de la plantilla de IaC/ARM. La definición replicada se aplica a uno o varios clústeres de destino.

Diagrama de un subconjunto de todos los recursos relacionados con la instancia. que muestra cómo funciona el comando clone para las instancias de Azure IoT Operations.

Clonar modelo

El modelo es la instancia de la que se va a clonar. Es la fuente de la verdad para la operación de clonación. Para identificar el modelo, escriba los parámetros siguientes:

  • --name/-n: el nombre de la instancia del modelo.
  • --resource-group/-g: el grupo de recursos que contiene la instancia del modelo.

Clonar objetivo

El destino es donde desea replicar o guardar la definición de clonación. Puede aplicar un clon a uno, a todos o a ningún destino. Si no proporciona ninguna opción de destino, el proceso finaliza después de generar un resumen de los recursos dentro del ámbito. Para identificar el destino, escriba uno de los parámetros siguientes:

  • --to-cluster-id: proporcione el identificador completo de recurso de Azure del clúster de destino donde desea replicar la instancia clonada. Al usar esta opción, el comando clone implementa la versión de Azure IoT Operations especificada en la definición de clonación en el clúster de destino y, a continuación, aplica todos los recursos pertinentes para completar la implementación. Actualmente, la federación automática de credenciales de identidad administrada asignada por el usuario (UAMI) solo se admite al clonar en un destino de clúster.

  • --to-dir: Proporcione una ruta de acceso de directorio local para replicar la definición de clon en el disco, donde se puede implementar con las herramientas de implementación de ARM existentes con o sin modificación. Si inspecciona la definición de clonación, verá varias parametrizaciones en juego para facilitar alguna personalización.

Importante

Al seleccionar un grupo de recursos de destino, considere la posibilidad de usar un grupo de recursos que no contenga una instalación de IoT Operations existente y sea independiente del grupo de recursos del modelo. De forma predeterminada, la definición de clonación conserva los nombres de recursos de la instancia del modelo. Si el destino y el modelo comparten el mismo grupo de recursos y cambia la ubicación personalizada, pueden surgir conflictos de nombres de recursos.

Clonar plantilla

El comando clone genera una plantilla de ARM que describe los recursos que se van a crear en el destino. La plantilla se genera en función de los recursos de la instancia del modelo y su configuración. Escriba los siguientes parámetros opcionales para personalizar la plantilla:

Clonar parámetros de personalización de plantillas

Puede usar los siguientes parámetros opcionales para personalizar la plantilla de ARM generada:

  • --mode: especifica cómo se organizan las sub-implementaciones en la plantilla.

    • Cuando se utiliza el modo nested (modo predeterminado), todas las sub-implementaciones están autónomas dentro del archivo de implementación raíz.
    • Cuando el modo linked se utiliza, las sub-implementaciones relacionadas con activos se dividen y se almacenan como archivos independientes, que luego son vinculados por la implementación raíz. Utilice el modo linked si la instancia contiene un gran número de dispositivos y recursos para mejorar la escalabilidad y la capacidad de gestión. No es necesario especificar este parámetro a menos que necesite esta separación para implementaciones de gran tamaño.
  • --param: permite invalidar los parámetros predeterminados integrados, como location, instanceNameo adrNamespaceId, con el formato key=value. Use --help para mostrar la lista completa de claves.

Clonación de una instancia

Para clonar una instancia, use el az iot ops clone comando con los parámetros adecuados para especificar la instancia de origen y la ubicación de destino.

  1. Antes de comenzar, establezca la suscripción predeterminada en la misma suscripción en la que se encuentra la instancia del modelo. De lo contrario, debe anexar --subscription cada vez que ejecute un az iot ops clone comando.

    az account set -s $MODEL_SUBSCRIPTION_ID
    
  2. Para obtener el identificador de recurso del clúster, ejecute:

    az resource show --name <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --resource-type "Microsoft.Kubernetes/connectedClusters" --query id --output tsv
    
  3. Para clonar una instancia y replicar en un clúster conectado a arco de destino mediante opciones predeterminadas, ejecute:

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-cluster-id <CLUSTER_ID> 
    
  4. Para personalizar la replicación en otro clúster, use --param y especifique los parámetros que desea cambiar con el formato key=value. Por ejemplo, para cambiar la ubicación de la instancia clonada, ejecute:

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-cluster-id <CLUSTER_ID> --param location=eastus
    
  5. Para clonar una instancia en un disco local, use el parámetro para especificar el --to-dir directorio donde desea guardar la definición de clonación. Esta opción genera una plantilla de ARM estándar que se va a manipular o implementar a su discreción.

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-dir <DIRECTORY>
    

    Sugerencia

    Para clonar una instancia en el directorio actual, ejecute --to-dir .

  6. Para clonar y replicar una instancia en un clúster de destino y guardarla en el archivo en la misma operación, ejecute:

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-cluster-id <CLUSTER_ID> --to-dir <DIRECTORY>
    
  7. Para clonar una instancia en un clúster, pero al dividir y aplicar en serie las subimplementaciones relacionadas con activos, use --mode linked., ya que ofrece el mayor grado de escala cuando la instancia del modelo contiene un número significativo de recursos relacionados con activos.

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-cluster-id <CLUSTER_ID> --mode linked
    
  8. Para clonar una instancia en disco en modo vinculado, donde cada recurso vinculado o cada plantilla de perfil de punto de conexión de recurso se puede implementar independientemente de la plantilla raíz.

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-dir . --mode linked
    

Consideraciones y limitaciones

  • La federación de identidades automática solo se admite con la opción --to-cluster-id.
  • Las reglas de sincronización de recursos no se capturan.
  • Aunque la asignación de roles necesaria entre la identidad administrada del sistema de Operaciones de IoT y el registro de esquema de destino se administra mediante clonación, no se cubren otras asignaciones de roles de identidad administrada por el sistema.
  • Clon es una operación en la nube. No se interactúa directamente con el clúster. Los secretos de clúster se sincronizan desde la nube a través de la configuración segura, que abarcan clases de proveedor de secretos y recursos en la nube de sincronización de secretos. Si el clúster del modelo tiene elementos creados por el usuario, como los mapas de configuración a los que se hace referencia en la solución de operaciones de IoT del modelo, esos elementos deben volver a aplicarse en el clúster de destino.