O Compute Nest usa pacotes de implantação de arquivos para resolver problemas de download de software durante implantações baseadas em scripts, como quando os recursos de nuvem não têm acesso à internet pública ou as fontes de download são instáveis. Este tópico descreve os casos de uso e os princípios dos pacotes de implantação de arquivos e explica como criá-los e usá-los.
Contexto
-
Por que usar pacotes de implantação de arquivos?
O Compute Nest usa pacotes de implantação de arquivos para solucionar problemas de download de software causados pela falta de acesso à internet pública nos recursos de nuvem, pelo tamanho elevado dos arquivos ou pela instabilidade das fontes. O provedor de serviços envia um arquivo para um bucket do OSS especificado e o sistema o replica automaticamente para várias regiões. Durante a implantação, o sistema substitui um espaço reservado no modelo pela URL privada do OSS da região de implantação, garantindo uma transferência de dados estável e segura.
-
Quais são as vantagens dos pacotes de implantação de arquivos?
Os provedores de serviços precisam apenas adicionar um espaço reservado a um modelo e configurar a associação de arquivos no console do Compute Nest.
Replicação de arquivos: O Compute Nest copia o arquivo enviado pelo provedor de serviços para uma conta compartilhada do Compute Nest. Nessa conta, o sistema replica o arquivo para buckets do OSS em várias regiões.
Associação de arquivos: O Compute Nest reconhece o espaço reservado (
{{ computeneset::file::xxx}}) em um modelo e o associa a um pacote de implantação de arquivos durante a criação do serviço. Quando um usuário implanta o serviço, o Compute Nest identifica a região de implantação e substitui automaticamente o espaço reservado pela URL regional correspondente do OSS, permitindo a substituição dinâmica da URL.Gerenciamento de permissões: Um pacote de implantação herda suas permissões do serviço associado. Se não estiver associado a nenhum serviço, ele será privado. Caso esteja associado a pelo menos um serviço público, o pacote de implantação se tornará público. Se estiver associado apenas a serviços privados, o pacote permanecerá privado.
Downloads via rede privada: O Compute Nest baixa os pacotes de implantação de arquivos por uma rede privada. Ao substituir o espaço reservado, o Compute Nest gera uma URL HTTP privada do OSS por padrão, assegurando um download estável e seguro.
Uso
Defina um espaço reservado no modelo ROS do serviço e associe-o a um pacote de implantação de arquivos. Ao criar uma instância de serviço, o Compute Nest identifica automaticamente o espaço reservado no modelo e o substitui pela URL do arquivo correspondente à região de implantação da instância.
As expressões fixas para o espaço reservado de associação de arquivos são:
(Recomendado) Se a URL do arquivo do pacote de implantação for privada, use a seguinte expressão:
{{ computenest::file:: ${key}}}.-
Se a URL do arquivo do pacote de implantação for pública, use a seguinte expressão:
{{ computenest::publicfile::${key}}}.NotaNessas expressões,
${key}pode ser qualquer palavra, mas não deve conter espaços.
Os exemplos YAML a seguir mostram como usar pacotes de implantação de arquivos para implantar:
Ao definir um espaço reservado de associação de arquivos em um modelo, coloque-o entre aspas simples ('') ou duplas ("").
Se usar o comando
wgetpara baixar um arquivo, adicione o parâmetro -O para especificar o nome do arquivo de saída.
-
Defina um espaço reservado em um modelo padrão.
O exemplo a seguir mostra como definir espaços reservados na seção
userDatapara baixar arquivos e renomeá-los paraTestFirst.txteTestSecond.tar.TiDBServer: Type: ALIYUN::ECS::InstanceGroup Properties: …… UserData: Fn::Sub: - | #!/bin/sh sleep 10 wget '{{ computenest::file::DemoFirst }}' -O TestFirst.txt wget '{{ computenest::file::DemoSecond }}' -O TestSecond.tar …… -
O tipo de banco de dados
MigrateTaskdefine um sinalizador.SQLDump: Type: ALIYUN::RDS::MigrateTask Properties: …… DBName: mytest DBInstanceId: Fn::GetAtt: - Database - DBInstanceId OssObjectPositions: {{ computenest::file::DemoFirst }}
Criar e usar pacotes de implantação de arquivos
Pré-requisitos
Prepare o arquivo que deseja enviar.
Criar um pacote de implantação de arquivos
-
Configure as informações básicas do pacote de implantação.
Faça login no console do Compute Nest. No painel de navegação à esquerda, escolha Service Deployment Package. Na aba Packages, clique em Create Deployment Package.
-
Na seção Basic Information, configure os seguintes parâmetros.
Parâmetro
Descrição
Deployment Package Name
O nome pode conter caracteres chineses, letras do alfabeto inglês, dígitos e sublinhados (_). Deve ter entre 3 e 128 caracteres, considerando que um caractere chinês conta como dois. Não é possível alterar o nome do pacote de implantação após a criação.
Version Name
O nome pode conter caracteres chineses, letras do alfabeto inglês, dígitos e sublinhados (_). Deve ter entre 3 e 50 caracteres, onde um caractere chinês equivale a dois caracteres.
Description
A descrição deve ter entre 10 e 500 caracteres. Um caractere chinês conta como dois caracteres.
Resource Group
Selecione o grupo de recursos ao qual o pacote de implantação pertence.
Os grupos de recursos permitem agrupar seus recursos de nuvem por uso, permissões ou propriedade, possibilitando o gerenciamento hierárquico de recursos para múltiplos usuários e projetos dentro de uma organização. Para mais informações, consulte grupos de recursos.
Tag Settings
Selecione ou insira uma chave de tag e um valor de tag completos para adicionar uma tag ao pacote de implantação. É possível vincular até 20 tags a um recurso. Se não houver chaves ou valores de tag disponíveis, crie uma tag personalizada. Para mais informações, consulte Criar e vincular uma tag personalizada.
-
Configure o pacote de implantação de arquivos.
Na seção Deployment Package Content, defina Deployment Package Type como File.
-
Selecione a região para a qual deseja enviar o arquivo. Em seguida, dependendo do tamanho do arquivo, selecione Upload Local File ou Upload Flie Larger Than 5 GB.
-
(Opcional) Use o recurso Configure Script Command. Os comandos de script servem principalmente para atualizações de instâncias de serviço e não são obrigatórios para a associação de arquivos.
Na seção Distribution Settings, o sistema distribui o pacote de implantação de arquivos para todas as regiões por padrão.
-
Clique em Publish Deployment Package.
Após a publicação de um pacote de implantação, não é possível modificar sua versão atual. Para fazer alterações, crie uma nova versão ou um novo pacote de implantação.
-
Visualize o pacote de implantação.
Retorne à página Service Deployment Packages. Clique no nome do pacote de implantação para acessar a página Deployment Package Details e visualizar o progresso da implantação.
-
Quando o status mudar para Available, clique em View para obter os Distribution Results do pacote de implantação de arquivos.
Os resultados da distribuição incluem a Região de distribuição e o link de distribuição correspondente, exibindo registros de cada região onde o pacote foi distribuído, como China (Pequim) e China (Ulanqab).
Faça login no console do Compute Nest.
No painel de navegação à esquerda, clique em My Services. Na aba Created Services da página My Services, clique em Create Service.
Na página Create New Service, selecione Custom launch como método de criação, escolha Private Service como tipo de serviço e clique em Next: Configure Settings.
-
Insira as informações básicas do serviço e selecione um modelo ROS.
Se o modelo ROS contiver
{{ computenest::file::test }}ou{{ computenest::publicfile::test }}, você poderá Set File Association na seção Deployment Package Association. -
Clique em Deployment Package Association abaixo de Set File Association. Na caixa de diálogo exibida, selecione o pacote de implantação e a versão e clique em OK.
Na caixa de diálogo, o campo Identificador de associação exibe um valor como
{{ computenest::file::springboot }}, e apenas pacotes de implantação do tipo arquivo podem ser selecionados.Após concluir a configuração, o campo Identificador de associação mostra a variável de modelo correspondente (por exemplo,
{{ computenest::file::springboo…), e o campo Pacote de implantação associado exibe o nome do pacote de implantação selecionado. Depois de criar e testar o serviço, valide-o conforme os critérios de revisão do Compute Nest e envie-o para revisão. Para mais informações, consulte Critérios de revisão.
-
Após a aprovação do serviço na revisão, publique-o. Para mais informações, consulte Publicar um serviço.
Quando um usuário cria uma instância de serviço, o Compute Nest substitui automaticamente os espaços reservados no modelo pelas URLs dos arquivos correspondentes à região de implantação da instância.
-
O código a seguir mostra o resultado da substituição de espaços reservados em um modelo padrão.
-
Se o pacote de implantação usar uma URL privada, o resultado será:
Resources: ECSInstances: Type: 'ALIYUN::ECS::InstanceGroup' Properties: UserData: | #!/bin/sh mkdir /root/lzq cd /root/lzq wget 'https://computenest-artifacts-cn-wulanchabu.oss-cn-wulanchabu-internal.aliyuncs.com/xxx/cn-zhangjiakou/xxx/sample-text.txt' wget 'https://computenest-artifacts-cn-wulanchabu.oss-cn-wulanchabu-internal.aliyuncs.com/xxx/cn-guangzhou/xxx/changes.txt' wget {{DemoThird}} SystemDiskCategory: -
Se o pacote de implantação usar uma URL pública, o resultado será:
Properties: UserData: | #!/bin/sh mkdir /root/lzq cd /root/lzq wget 'https://computenest-artifacts-cn-wulanchabu.oss-cn-wulanchabu.aliyuncs.com/xxx/cn-beijing/xxx/virtual-background-1976.jpg' wget {{DemoThird}} SystemDiskCategory: Ref: SystemDiskCategory VpcId:
-
-
Em um
MigrateTaskdo tipo banco de dados, o Compute Nest altera a URL do pacote de implantação de arquivos para o formato do parâmetroOssObjectPositions.Como o parâmetro OssObjectPositions é composto por três partes separadas por dois pontos (
:) — o endpoint do OSS, o nome do bucket do OSS e a chave do arquivo de backup no OSS —, o Compute Nest converte a URL de um pacote de implantação de arquivos para esse formato. Por exemplo:oss-ap-southeast-1.aliyuncs.com:rdsmssqlsingapore:autotest_2008R2_TestMigration_FULL.bak. Para mais informações, consulte ALIYUN::RDS::MigrateTask.}, "OssObjectPositions": "oss-cn-hangzhou-internal.aliyuncs.com:computenest-artifacts-cn-hangzhou:xxx/cn-zhangjiakou/xxx/sample-text.txt", "DBInstanceId": { ... }
-
Para mais informações sobre como criar um serviço Compute Nest, consulte Criar um serviço.
Se não precisar mais de um pacote de implantação ou de uma versão específica, exclua-o. Para mais informações, consulte Excluir um pacote de implantação.
Para alterar as regiões de distribuição ou o conteúdo de um pacote de implantação, crie uma nova versão. Para mais informações, consulte Criar uma versão.
Para definir configurações de atualização de um pacote de implantação, consulte Configurar definições de atualização de serviço.
Usar um pacote de implantação de arquivos
Esta seção usa a criação de um serviço privado como exemplo para explicar a configuração do pacote de implantação de arquivos.