Como rodar scripts nos edge nodes
Para conseguir orquestrar serviços em seu dispositivo, é necessário configurar todos os recursos necessários para instalar, desinstalar e recarregar seus serviços.
Este guia apresenta como instalar a Azion CLI em seus edge nodes por meio de um recurso do tipo Shell Script configurado em um edge service específico.
Pré-requisitos
- Um edge node com o Orchestrator Agent instalado e autorizado.
- O gerenciador de pacotes Dpkg instalado neste edge node.
Crie um edge service
- Acesse o Azion Console.
- No canto superior esquerdo da página, abra o Products menu, representado por três linhas horizontais, e em seguida selecione Edge Services.
- Clique no botão + Service.
- Nomeie este serviço como
Instalação Azion CLI. - Insira as varáveis e valores para o recurso, se necessário.
- Defina o status como Active.
- Clique no botão Save.
- Execute a seguinte requisição
POSTno seu terminal, substituindo[TOKEN VALUE]pelo seu personal token e informando o nome do serviço a ser criado:
curl --location 'https://api.azionapi.net/edge_services/' --header 'Accept: application/json; version=3' --header 'Authorization: Token [TOKEN VALUE]' --header 'Content-Type: application/json' --data '{"name": "Instalação do Azion CLI"}'- Guarde o ID do edge service que você acabou de criar. Você pode acessá-lo no corpo da resposta, por exemplo:
{ "id": 1196, "name": "Instalação do Azion CLI", "updated_at": "2024-01-18T17:24:33Z", "last_editor": "xxxxx", "active": false, "bound_nodes": 0, "permissions": [ "read", "write" ]}- Execute a seguinte requisição
PATCHno seu terminal para definir o serviço como ativo, substituindo[TOKEN VALUE]pelo seu personal token e:idpelo ID do edge service:
curl --location --request PATCH 'https://api.azionapi.net/edge_services/:id' \--header 'Accept: application/json; version=3' \--header 'Authorization: Token [TOKEN VALUE]' \--header 'Content-Type: application/json' \--data '{ "active": true, "name": "Instalação do Azion CLI", "variables": [ { "name": "string", "value": "string" } ]}'Crie um recurso
- Dentro do serviço que você acabou de criar, chamado
Instalação Azion CLIvá para a aba Resources. - Clique em + Resource.
- Insira
/scripts/install-clino campo Filepath. - Escolha o tipo Shell Script.
- Escolha o trigger Install.
- Adicione o seguinte conteúdo ao bloco Content:
#!/bin/bash
# Define a URL do binário para downloadBINARY_URL="https://github.com/aziontech/azion/releases/download/1.10.2/azion_1.10.2_linux_arm64.deb"
# Baixa o bináriowget $BINARY_URL -O /tmp/azion.deb
# Instala o binário# Isso pressupõe que você tem o dpkg instalado no seu sistemasudo dpkg -i /tmp/azion.deb
# Limpa o binário baixadorm /tmp/azion.deb
echo "Instalação concluída com sucesso"- Clique no botão Save.
Este script instalará o binário azion no seguinte caminho: /usr/local/bin
- Execute a seguinte requisição
POSTno seu terminal:
curl --location 'https://api.azionapi.net/edge_services/:id/resources' --header 'Accept: application/json; version=3' --header 'Authorization: Token [TOKEN VALUE]' --header 'Content-Type: application/json' --data '{"content_type": "Shell Script","name": "/scripts/install-cli/","content": "#!/bin/bash
# Define a URL do binário para downloadBINARY_URL="https://github.com/aziontech/azion/releases/download/1.10.2/azion_1.10.2_linux_arm64.deb"
# Baixa o bináriowget $BINARY_URL -O /tmp/azion.deb
# Instala o binário# Isso pressupõe que você tem o dpkg instalado no seu sistemasudo dpkg -i /tmp/azion.deb
# Limpa o binário baixadorm /tmp/azion.deb
echo "Instalação concluída com sucesso""}'Substitua [TOKEN VALUE] pelo seu personal token, :id pelo ID do edge service e informe os seguintes parâmetros no corpo da requisição:
| Propriedade | Descrição | Obrigatório |
|---|---|---|
content_type | Tipo de conteúdo do recurso a ser criado | Sim |
name | Nome do recurso a ser criado | Sim |
content | Conteúdo que define as ações realizadas quando o estado do recurso muda no edge node | Sim |
Vincule um edge service a um edge node
- No canto superior esquerdo da página, abra o Products menu, representado por três linhas horizontais, e em seguida selecione Edge Services.
- Selecione o edge node ao qual você deseja vincular um serviço.
- Vá para a guia Services e clique no botão + Service.
- Escolha o serviço
Instalação Azion CLIque você criou. - Clique no botão Save.
- Execute a seguinte requisição
GETno seu terminal, substituindo[TOKEN VALUE]pelo seu personal token e recupere o ID do edge node ao qual deseja vincular a um edge service:
curl --location 'https://api.azionapi.net/edge_nodes/' --header 'Accept: application/json; version=3' --header 'Authorization: Token [TOKEN VALUE]'- Execute a seguinte requisição
POSTno seu terminal:
curl --location 'https://api.azionapi.net/edge_nodes/:id/services' \--header 'Accept: application/json; version=3' \--header 'Authorization: Token [TOKEN VALUE]' \--header 'Content-Type: application/json' \--data '{ "service_id": :id, "variables": [ { "name": "string", "value": "string" } ]}'Substitua [TOKEN VALUE] pelo seu personal token, :id pelo ID do edge node e informe os seguintes parâmetros no corpo da requisição:
| Propriedade | Descrição | Obrigatório |
|---|---|---|
service_id | ID do edge service a ser vinculado ao edge node | Sim |
variables | Variáveis a serem substituídas durante o processamento no edge node | Não |
Acesse a Azion CLI
Após este processo, em seu edge node, acesse a pasta:
cd /usr/local/binE execute:
./azion -hA saída será semelhante a:
Azion CLI 1.10.2
DESCRIPTION The Azion Command Line Interface is a unified tool to manage your Azion projects and resources
SYNOPSIS azion <command> <subcommand> [flags]
EXAMPLES $ azion $ azion -t azionb43a9554776zeg05b11cb1declkbabcc9la $ azion --debug $ azion -h...