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 Edge 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.
- Acesse o Real-Time Manager (RTM).
- 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 Add Service.
- Nomeie este serviço como
Instalação Azion CLI
. - Volte e, na lista de serviços, defina o status do serviço recém-criado como Active.
- Execute a seguinte requisição
POST
no 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
PATCH
no seu terminal para definir o serviço como ativo, substituindo[TOKEN VALUE]
pelo seu personal token e:id
pelo 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 CLI
vá para a aba Resources. - Clique em + Resource.
- Insira
/scripts/install-cli
no 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 download
BINARY_URL="https://github.com/aziontech/azion/releases/download/1.10.2/azion_1.10.2_linux_arm64.deb"
# Baixa o binário
wget $BINARY_URL -O /tmp/azion.deb
# Instala o binário
# Isso pressupõe que você tem o dpkg instalado no seu sistema
sudo dpkg -i /tmp/azion.deb
# Limpa o binário baixado
rm /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
- Na lista de serviços, selecione o edge service que você acabou de criar, chamado
Instalação Azion CLI
. - Vá para a aba Resources e clique em Add Resource.
- Insira
/scripts/install-cli
no campo do caminho do arquivo. - 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 download
BINARY_URL="https://github.com/aziontech/azion/releases/download/1.10.2/azion_1.10.2_linux_arm64.deb"
# Baixa o binário
wget $BINARY_URL -O /tmp/azion.deb
# Instala o binário
# Isso pressupõe que você tem o dpkg instalado no seu sistema
sudo dpkg -i /tmp/azion.deb
# Limpa o binário baixado
rm /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
POST
no 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\n\n# Define a URL do binário para download\nBINARY_URL=\"https://github.com/aziontech/azion/releases/download/1.10.2/azion_1.10.2_linux_arm64.deb\"\n\n# Baixa o binário\nwget $BINARY_URL -O /tmp/azion.deb\n\n# Instala o binário\n# Isso pressupõe que você tem o dpkg instalado no seu sistema\nsudo dpkg -i /tmp/azion.deb\n\n# Limpa o binário baixado\nrm /tmp/azion.deb\n\necho \"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 CLI
que você criou. - Clique no botão Save.
- 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 Add Service.
- Escolha o serviço
Instalação Azion CLI
que você criou. - Clique no botão Save.
- Execute a seguinte requisição
GET
no 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
POST
no 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/bin
E execute:
./azion -h
A 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...
Contribuidores