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

Descrição Geral

Para implementar uma nova aplicação, conclua estes passos:

  1. Carregue um pacote de aplicação para o arquivo de imagens do Service Fabric.
  2. Aprovisionar um tipo de aplicação.
  3. Elimine o conteúdo do arquivo de imagens.
  4. Especifique e crie uma aplicação.
  5. Especifique e crie serviços.

Para remover uma aplicação existente, conclua estes passos:

  1. Elimine a aplicação.
  2. 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.

Passos seguintes