

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

**Importante**  
 Siga o `readme.md` no `hubSystemdSetup` diretório do arquivo release.tgz para obter as atualizações mais recentes. 

Esta seção descreve os scripts e processos para implantar e configurar serviços em um dispositivo Linux-based hub.

## Visão geral do
<a name="managedintegrations-sdk-v2-cookbook-deployment-overview"></a>

O processo de implantação consiste em dois scripts principais:
+ `copy_to_hub.sh`: é executado na máquina host para copiar os arquivos necessários para o hub
+ `setup_hub.sh`: é executado no hub para configurar o ambiente e implantar serviços

Além disso, `systemd/deploy_iotshd_services_on_hub.sh` gerencia a sequência de inicialização do processo e o gerenciamento de permissões do processo e é acionado automaticamente pelo`setup_hub.sh`.

## Pré-requisitos
<a name="managedintegrations-sdk-v2-cookbook-deployment-prerequisites"></a>

Os pré-requisitos listados são necessários para uma implantação bem-sucedida.
+ o serviço systemd está disponível no hub
+ Acesso SSH ao dispositivo hub
+ Privilégios de Sudo no dispositivo hub
+ `scp`utilitário instalado na máquina host
+ `sed`utilitário instalado na máquina host
+ utilitário de descompactação instalado na máquina host

## Estrutura do arquivo
<a name="managedintegrations-sdk-v2-cookbook-deployment-file-structure"></a>

A estrutura de arquivos foi projetada para facilitar a organização e o gerenciamento de seus diversos componentes, permitindo o acesso e a navegação eficientes do conteúdo.

```
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
```

No arquivo tgz da versão do SDK, a estrutura geral do arquivo é:

```
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
```

## Configuração inicial do
<a name="managedintegrations-sdk-v2-cookbook-deployment-initial-setup"></a>

### Extraia o pacote SDK
<a name="managedintegrations-sdk-v2-cookbook-deployment-extract-sdk"></a>

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

Navegue até o diretório extraído e prepare o pacote:

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

### Adicionar arquivos de configuração do dispositivo
<a name="managedintegrations-sdk-v2-cookbook-deployment-prepare-certificates"></a>

Siga as duas etapas listadas para criar os arquivos de configuração do dispositivo e copiá-los para o hub.

1. [Adicione arquivos de configuração do dispositivo](managedintegrations-sdk-v2-cookbook-hubsetup.md#managedintegrations-sdk-v2-cookbook-genconfig) para criar os arquivos de configuração do dispositivo necessários. O SDK usa esse arquivo para sua função.

1. [Copie os arquivos de configuração](managedintegrations-sdk-v2-cookbook-hubsetup.md#managedintegrations-sdk-v2-cookbook-config-contents) para copiar os arquivos de configuração criados para o hub. 

## Copiar arquivos para o hub
<a name="managedintegrations-sdk-v2-cookbook-deployment-copy-files-to-hub"></a>

Execute o script de implantação em sua máquina host:

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

**Example Exemplo**  

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

Isso copia:
+ O arquivo do pacote (renomeado para package.zip no hub)
+ Arquivos de configuração
+ Certificados
+ Arquivos de serviço Systemd

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

Depois que os arquivos forem copiados, faça o SSH no hub e execute o script de configuração:

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

### Configurações de usuários e grupos
<a name="managedintegrations-sdk-v2-cookbook-deployment-user-group-config"></a>

**Por padrão, usamos o hub do usuário e o **hub** do grupo para os componentes do SDK.** Há várias maneiras de configurá-las:
+ Use um personalizado user/group:

  ```
  sudo ./setup_hub.sh --user={{USERNAME}} --group={{GROUPNAME}}
  ```
+ Crie-os manualmente antes de executar o script de configuração:

  ```
  sudo groupadd -f {{GROUPNAME}}
  sudo useradd -r -g {{GROUPNAME}} {{USERNAME}}
  ```
+ Adicione os comandos em`setup_hub.sh`.

## Gerenciar serviços da
<a name="managedintegrations-sdk-v2-cookbook-deployment-manage-services"></a>

Para reiniciar todos os serviços, execute o seguinte script no hub:

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

O script de configuração criará os diretórios necessários, definirá as permissões apropriadas e implantará os serviços automaticamente. Se você não estiver usando SSH/SCP, deverá modificar seu método `copy_to_hub.sh` de implantação específico. Certifique-se de que todos os arquivos e configurações do certificado estejam configurados corretamente antes da implantação.