

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Implemente el SDK de Hub con systemd
<a name="managedintegrations-sdk-v2-cookbook-deployment-hub-deployment-scripts"></a>

**importante**  
 Siga las instrucciones del `readme.md` `hubSystemdSetup` directorio del archivo release.tgz para ver las actualizaciones más recientes. 

En esta sección se describen los scripts y los procesos para implementar y configurar los servicios en un dispositivo hub. Linux-based 

## Descripción general de
<a name="managedintegrations-sdk-v2-cookbook-deployment-overview"></a>

El proceso de despliegue consta de dos scripts principales:
+ `copy_to_hub.sh`: Se ejecuta en la máquina host para copiar los archivos necesarios al hub
+ `setup_hub.sh`: Se ejecuta en el hub para configurar el entorno e implementar los servicios

Además, `systemd/deploy_iotshd_services_on_hub.sh` gestiona la secuencia de arranque del proceso y la gestión de los permisos del proceso, y se activa automáticamente mediante`setup_hub.sh`.

## Requisitos previos
<a name="managedintegrations-sdk-v2-cookbook-deployment-prerequisites"></a>

Los requisitos previos enumerados son necesarios para que la implementación se realice correctamente.
+ El servicio systemd está disponible en el hub
+ Acceso SSH al dispositivo hub
+ Privilegios de sudo en el dispositivo hub
+ `scp`utilidad instalada en la máquina host
+ `sed`utilidad instalada en la máquina host
+ utilidad de descompresión instalada en la máquina host

## Estructura de archivos
<a name="managedintegrations-sdk-v2-cookbook-deployment-file-structure"></a>

La estructura de archivos está diseñada para facilitar la organización y administración de sus diversos componentes, lo que permite un acceso y una navegación eficientes del contenido.

```
hubSystemdSetup/
├── README.md
├── copy_to_hub.sh 
├── setup_hub.sh
├── iotshd_config.json  # Sample configuration file
├── local_certs/  # Directory for DHA certificates
└── systemd/ 
    ├── *.service.template  # Systemd service templates 
    └── deploy_iotshd_services_on_hub.sh
```

En el archivo tgz de la versión del SDK, la estructura general de archivos es la siguiente:

```
IoT-managed-integrations-Hub-SDK-aarch64-v1.0.0.tgz
├──package/
    ├──greengrass/
        ├──artifacts/
        ├──recipes/
    ├──hubSystemdSetup/
        ├── REAME.md
        ├── copy_to_hub.sh 
        ├── setup_hub.sh
        ├── iotshd_config.json  # Sample configuration file
        ├── local_certs/  # Directory for DHA certificates
        └── systemd/ 
            ├── *.service.template  # Systemd service templates 
            └── deploy_iotshd_services_on_hub.sh
```

## Configuración inicial de
<a name="managedintegrations-sdk-v2-cookbook-deployment-initial-setup"></a>

### Extraiga el paquete del SDK
<a name="managedintegrations-sdk-v2-cookbook-deployment-extract-sdk"></a>

```
tar -xzf managed-integrations-Hub-SDK-v{{Version}}-linux-aarch64-{{timestamp}}.tgz
```

Navegue hasta el directorio extraído y prepare el paquete:

```
# Create package.zip containing required artifacts
zip -r package.zip package/greengrass/artifacts
# Move package.zip to the hubSystemdSetup directory
mv package.zip ../hubSystemdSetup/
```

### Añada los archivos de configuración del dispositivo
<a name="managedintegrations-sdk-v2-cookbook-deployment-prepare-certificates"></a>

Siga los dos pasos que se indican para crear los archivos de configuración del dispositivo y cópielos en el hub.

1. [Añada los archivos de configuración](managedintegrations-sdk-v2-cookbook-hubsetup.md#managedintegrations-sdk-v2-cookbook-genconfig) del dispositivo para crear los archivos de configuración del dispositivo necesarios. El SDK usa este archivo para su función.

1. [Copie los archivos de configuración](managedintegrations-sdk-v2-cookbook-hubsetup.md#managedintegrations-sdk-v2-cookbook-config-contents) para copiar los archivos de configuración creados en el hub. 

## Copie los archivos al hub
<a name="managedintegrations-sdk-v2-cookbook-deployment-copy-files-to-hub"></a>

Ejecute el script de despliegue desde su máquina host:

```
chmod +x copy_to_hub.sh
./copy_to_hub.sh {{hub_ip_address}} {{package_file}}
```

**Example Ejemplo**  

```
./copy_to_hub.sh 192.168.50.223 ~/Downloads/EAR3-package.zip
```

Esto copia:
+ El archivo del paquete (renombrado a package.zip en el hub)
+ Archivos de configuración
+ Certificados
+ Archivos de servicio de Systemd

## Configure el hub
<a name="managedintegrations-sdk-v2-cookbook-deployment-set-up-hub"></a>

Una vez copiados los archivos, accede al hub por SSH y ejecuta el script de configuración:

```
ssh hub@{{hub_ip}}
chmod +x setup_hub.sh
sudo ./setup_hub.sh
```

### Configuraciones de usuario y grupo
<a name="managedintegrations-sdk-v2-cookbook-deployment-user-group-config"></a>

De forma predeterminada, utilizamos el **centro** de usuarios y el **centro** de grupos para los componentes del SDK. Hay varias formas de configurarlos:
+ Usa un personalizado user/group:

  ```
  sudo ./setup_hub.sh --user={{USERNAME}} --group={{GROUPNAME}}
  ```
+ Créelos manualmente antes de ejecutar el script de configuración:

  ```
  sudo groupadd -f {{GROUPNAME}}
  sudo useradd -r -g {{GROUPNAME}} {{USERNAME}}
  ```
+ Añada los comandos`setup_hub.sh`.

## Administración de servicios de
<a name="managedintegrations-sdk-v2-cookbook-deployment-manage-services"></a>

Para reiniciar todos los servicios, ejecute el siguiente script desde el hub:

```
sudo /usr/local/bin/deploy_iotshd_services_on_hub.sh
```

El script de configuración creará los directorios necesarios, establecerá los permisos adecuados e implementará los servicios automáticamente. Si no los usa SSH/SCP, debe modificarlos según `copy_to_hub.sh` su método de implementación específico. Asegúrese de que todos los archivos de certificado y las configuraciones estén correctamente configurados antes de la implementación.