Gerir uma aplicação do Azure Service Fabric com a CLI do Azure Service Fabric (sfctl)
Saiba como criar e eliminar aplicações em execução num cluster do Azure Service Fabric.
Pré-requisitos
Instale a CLI do Service Fabric. Em seguida, selecione o cluster do Service Fabric. Para obter mais informações, veja Introdução à CLI do Service Fabric.
Ter um pacote de aplicação do Service Fabric pronto para ser implementado. Para obter mais informações sobre como criar e empacotar uma aplicação, leia sobre o modelo de aplicação do Service Fabric.
Descrição Geral
Para implementar uma nova aplicação, conclua estes passos:
- Carregue um pacote de aplicação para o arquivo de imagens do Service Fabric.
- Aprovisionar um tipo de aplicação.
- Elimine o conteúdo do arquivo de imagens.
- Especifique e crie uma aplicação.
- Especifique e crie serviços.
Para remover uma aplicação existente, conclua estes passos:
- Elimine a aplicação.
- Anular a anulação do tipo de aplicação associado.
Implementar uma nova aplicação
Para implementar uma nova aplicação, conclua as seguintes tarefas:
Carregar um novo pacote de aplicação para o arquivo de imagens
Antes de criar uma aplicação, carregue o pacote de aplicações para o arquivo de imagens do Service Fabric.
Por exemplo, se o pacote de aplicação app_package_dir
estiver no diretório, utilize os seguintes comandos para carregar o diretório:
sfctl application upload --path ~/app_package_dir
Para pacotes de aplicações grandes, pode especificar a opção --show-progress
para apresentar o progresso do carregamento.
Aprovisionar o tipo de aplicação
Quando o carregamento estiver concluído, aprovisione a aplicação. Para aprovisionar a aplicação, utilize o seguinte comando:
sfctl application provision --application-type-build-path app_package_dir
O valor para application-type-build-path
é o nome do diretório para o qual carregou o pacote de aplicação.
Eliminar o pacote de aplicação
Recomenda-se que remova o pacote de aplicação depois de a aplicação ser registada com êxito. Eliminar pacotes de aplicações do arquivo de imagens liberta recursos do sistema. Manter pacotes de aplicações não utilizados consome armazenamento de discos e origina problemas de desempenho da aplicação.
Para eliminar o pacote de aplicação do arquivo de imagens, utilize o seguinte comando:
sfctl store delete --content-path app_package_dir
content-path
tem de ser o nome do diretório que carregou quando criou a aplicação.
Criar uma aplicação a partir de um tipo de aplicação
Depois de aprovisionar a aplicação, utilize o seguinte comando para atribuir um nome e criar a sua aplicação:
sfctl application create --app-name fabric:/TestApp --app-type TestAppType --app-version 1.0
app-name
é o nome que pretende utilizar para a instância da aplicação. Pode obter parâmetros adicionais do manifesto da aplicação aprovisionado anteriormente.
O nome da aplicação tem de começar com o prefixo fabric:/
.
Criar serviços para a nova aplicação
Depois de criar uma aplicação, crie serviços a partir da aplicação. No exemplo seguinte, criamos um novo serviço sem estado a partir da nossa aplicação. Os serviços que pode criar a partir de uma aplicação são definidos num manifesto de serviço no pacote de aplicações aprovisionado anteriormente.
sfctl service create --app-id TestApp --name fabric:/TestApp/TestSvc --service-type TestServiceType \
--stateless --instance-count 1 --singleton-scheme
Verificar a implementação e o estado de funcionamento da aplicação
Para verificar se está tudo em bom estado de funcionamento, utilize os seguintes comandos de estado de funcionamento:
sfctl application list
sfctl service list --application-id TestApp
Para verificar se o serviço está em bom estado de funcionamento, utilize comandos semelhantes para obter o estado de funcionamento do serviço e da aplicação:
sfctl application health --application-id TestApp
sfctl service health --service-id TestApp/TestSvc
Os serviços e aplicações em bom estado de funcionamento têm um HealthState
valor de Ok
.
Remover uma aplicação existente
Para remover uma aplicação, conclua as seguintes tarefas:
Eliminar a aplicação
Para eliminar a aplicação, utilize o seguinte comando:
sfctl application delete --application-id TestEdApp
Anular a anulação do tipo de aplicação
Depois de eliminar a aplicação, pode anular a anulação do tipo de aplicação se já não precisar da mesma. Para anular a anulação do tipo de aplicação, utilize o seguinte comando:
sfctl application unprovision --application-type-name TestAppType --application-type-version 1.0
O nome do tipo e a versão do tipo têm de corresponder ao nome e à versão no manifesto da aplicação aprovisionado anteriormente.
Atualizar a aplicação
Depois de criar a sua aplicação, pode repetir o mesmo conjunto de passos para aprovisionar uma segunda versão da sua aplicação. Em seguida, com uma atualização da aplicação do Service Fabric, pode fazer a transição para executar a segunda versão da aplicação. Para obter mais informações, veja a documentação sobre as atualizações de aplicações do Service Fabric.
Para efetuar uma atualização, primeiro aprovisione a versão seguinte da aplicação com os mesmos comandos que anteriormente:
sfctl application upload --path ~/app_package_dir_2
sfctl application provision --application-type-build-path app_package_dir_2
sfctl store delete --content-path app_package_dir_2
Em seguida, recomenda-se que execute uma atualização automática monitorizada e inicie a atualização ao executar o seguinte comando:
sfctl application upgrade --app-id TestApp --app-version 2.0.0 --parameters "{\"test\":\"value\"}" --mode Monitored
As atualizações substituem os parâmetros existentes com o conjunto especificado. Os parâmetros da aplicação devem ser transmitidos como argumentos para o comando de atualização, se necessário. Os parâmetros da aplicação devem ser codificados como um objeto JSON.
Para obter quaisquer parâmetros especificados anteriormente, pode utilizar o sfctl application info
comando .
Quando uma atualização da aplicação está em curso, o estado pode ser obtido com o sfctl application upgrade-status
comando .
Por fim, se uma atualização estiver em curso e precisar de ser cancelada, pode utilizar a sfctl application upgrade-rollback
para reverter a atualização.