Início rápido: Criar um registro conectado usando a CLI do Azure (a ser preterido)
Neste início rápido, você usará a CLI do Azure para criar um recurso de registro conectado no Azure. O recurso de registro conectado do Registro de Contêiner do Azure permite implantar um registro remotamente ou em seu local e sincronizar imagens e outros artefatos com o registro de nuvem.
Aqui, você cria dois recursos de registro conectados para um registro de nuvem: um registro conectado permite a funcionalidade de leitura e gravação (pull e push de artefato) e outro permite a funcionalidade somente leitura.
Depois de criar um registro conectado, você pode seguir outros guias para implantá-lo e usá-lo em sua infraestrutura local ou remota.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
- Registro de Contêiner do Azure – Se ainda não tiver um registro de contêiner, crie um (precisa da camada Premium) em uma região que dê suporte a registros conectados.
Habilitar o ponto de extremidade de dados dedicado para o registro de nuvem
Habilita o ponto de extremidade de dados dedicado para o registro de contêiner do Azure na nuvem usando o comando az acr update. Essa etapa é necessária para que um registro conectado se comunique com o registro de nuvem.
# Set the REGISTRY_NAME environment variable to identify the existing cloud registry
REGISTRY_NAME=<container-registry-name>
az acr update --name $REGISTRY_NAME \
--data-endpoint-enabled
Importar imagens para o registro na nuvem
Importe as seguintes imagens de contêiner para o registro na nuvem usando o comando az acr import. Ignore esta etapa se você já importou essas imagens.
Imagem do registro conectado
Para dar suporte a cenários de IoT Edge aninhados, a imagem de contêiner para o runtime do registro conectado deve estar disponível no registro de contêiner privado do Azure. Use o comando az acr import para importar a imagem de registro conectado para o registro privado.
# Use the REGISTRY_NAME variable in the following Azure CLI commands to identify the registry
REGISTRY_NAME=<container-registry-name>
az acr import \
--name $REGISTRY_NAME \
--source mcr.microsoft.com/acr/connected-registry:0.8.0
Imagens do proxy de API e IoT Edge
Para dar suporte ao registro conectado no IoT Edge aninhado, é necessário implantar módulos para o proxy de API e IoT Edge. Importe essas imagens para o registro privado.
O módulo de proxy de API do IoT Edge permite que um dispositivo de IoT Edge exponha vários serviços usando o protocolo HTTPS na mesma porta, como 443.
az acr import \
--name $REGISTRY_NAME \
--source mcr.microsoft.com/azureiotedge-agent:1.2.4
az acr import \
--name $REGISTRY_NAME \
--source mcr.microsoft.com/azureiotedge-hub:1.2.4
az acr import \
--name $REGISTRY_NAME \
--source mcr.microsoft.com/azureiotedge-api-proxy:1.1.2
az acr import \
--name $REGISTRY_NAME \
--source mcr.microsoft.com/azureiotedge-diagnostics:1.2.4
Imagem de olá, mundo
Para testar o registro conectado, importe a imagem hello-world
. Esse repositório será sincronizado com o registro conectado e enviado para os clientes do registro conectado.
az acr import \
--name $REGISTRY_NAME \
--source mcr.microsoft.com/hello-world:1.1.2
Criar um recurso de registro conectado para a funcionalidade de leitura e gravação
Crie um registro conectado usando o comando az acr connected-registry create. O nome do registro conectado precisa começar com uma letra e conter somente caracteres alfanuméricos. Ele deve ter de 5 a 40 caracteres e ser exclusivo na hierarquia para esse registro de contêiner do Azure.
# Set the CONNECTED_REGISTRY_RW environment variable to provide a name for the connected registry with read/write functionality
CONNECTED_REGISTRY_RW=<connnected-registry-name>
az acr connected-registry create --registry $REGISTRY_NAME \
--name $CONNECTED_REGISTRY_RW \
--repository "hello-world" "acr/connected-registry" "azureiotedge-agent" "azureiotedge-hub" "azureiotedge-api-proxy"
Esse comando cria um recurso de registro conectado cujo nome é o valor do $CONNECTED_REGISTRY_RW e o vincula ao registro de nuvem cujo nome é o valor do $REGISTRY_NAME. Nos guias de início rápido posteriores, você aprenderá sobre as opções para implantar o registro conectado.
Os repositórios especificados serão sincronizados entre o registro de nuvem e o registro conectado depois que ele for implantado.
Como nenhuma opção
--mode
é especificada para o registro conectado, ela é criada no modo ReadWrite padrão.Como não há nenhum agendamento de sincronização definido para esse registro conectado, os repositórios serão sincronizados entre o registro de nuvem e o registro conectado sem interrupções.
Importante
Para dar suporte a cenários aninhados em que camadas inferiores não têm acesso à Internet, você sempre deve permitir a sincronização do repositório
acr/connected-registry
. Esse repositório contém a imagem do runtime do registro conectado.
Criar um recurso de registro conectado para a funcionalidade de somente leitura
Você também pode usar o comando az acr connected-registry create para criar um registro conectado com a funcionalidade somente leitura.
# Set the CONNECTED_REGISTRY_READ environment variable to provide a name for the connected registry with read-only functionality
CONNECTED_REGISTRY_RO=<connnected-registry-name>
az acr connected-registry create --registry $REGISTRY_NAME \
--parent $CONNECTED_REGISTRY_RW \
--name $CONNECTED_REGISTRY_RO \
--repository "hello-world" "acr/connected-registry" "azureiotedge-agent" "azureiotedge-hub" "azureiotedge-api-proxy" \
--mode ReadOnly
Esse comando cria um recurso de registro conectado cujo nome é o valor do $CONNECTED_REGISTRY_RO e o vincula ao registro de nuvem cujo nome é o valor do $REGISTRY_NAME.
- Os repositórios especificados serão sincronizados entre o registro pai cujo nome é o valor do $CONNECTED_REGISTRY_RW e o registro conectado após a implantação.
- Esse recurso é criado no modo ReadOnly, que habilita a funcionalidade somente leitura (pull de artefato) depois de implantado.
- Como não há nenhum agendamento de sincronização definido para esse registro conectado, os repositórios serão sincronizados entre o registro pai e o registro conectado sem interrupções.
Verifique se os recursos são criados
Você pode usar o comando de registro conectado az acr connected-registry list para verificar se os recursos foram criados.
az acr connected-registry list \
--registry $REGISTRY_NAME \
--output table
Você verá uma resposta conforme a seguir. Como os registros conectados ainda não foram implantados, o estado de conexão "Offline" indica que eles estão desconectados da nuvem no momento.
NAME MODE CONNECTION STATE PARENT LOGIN SERVER LAST SYNC (UTC)
------------------- -------- ------------------ ------------------- -------------- -----------------
myconnectedregrw ReadWrite Offline
myconnectedregro ReadOnly Offline myconnectedregrw
Próximas etapas
Neste início rápido, você usará a CLI do Azure para criar dois recursos de registro conectado no Azure. Esses novos recursos de registro conectados estão vinculados ao registro de nuvem e permitem a sincronização de artefatos com o registro de nuvem.
Continue nos guias de implantação do registro conectado para saber como implantar e usar um registro conectado em sua infraestrutura de IoT Edge.