Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os administradores podem controlar a sequência de atualizações para clusters gerenciados por frotas definindo uma série de estágios e grupos. Eles podem configurar quando as aprovações e pausas devem ocorrer dentro desses estágios e grupos. Toda a configuração pode ser salva como uma estratégia de atualização que pode ser gerenciada independentemente de execuções de atualização ou atualizações automáticas, permitindo que as estratégias sejam reutilizadas conforme necessário.
Este artigo aborda como definir estratégias de atualização usando grupos e estágios.
Pré-requisitos
Leia a visão geral conceitual das atualizações do Fleet, que fornece uma explicação dos ciclos de atualização, estágios, grupos e estratégias referenciados neste guia.
Você deve ter um recurso de frota com um ou mais grupos de membros. Caso contrário, siga o Guia de Início Rápido para criar um recurso Fleet e adicionar clusters ao Serviço Kubernetes do Azure (AKS) como membros.
Defina as seguintes variáveis de ambiente:
export GROUP=<resource-group> export FLEET=<fleet-name> export CLUSTERID=<aks-cluster-resource-id> export STRATEGY=<strategy-name>Se você estiver seguindo as instruções da CLI do Azure neste artigo, precisará da CLI do Azure versão 2.70.0 ou posterior instalada. Para instalar ou atualizar, consulte Instalar a CLI do Azure.
Você também precisa da
fleetextensão CLI do Azure versão 1.6.0 ou posterior, que pode ser instalada executando o seguinte comando:az extension add --name fleetExecute o
az extension updatecomando para atualizar para a versão mais recente da extensão lançada:az extension update --name fleet
Selecione clusters para a sua estratégia
Existem duas formas de selecionar quais clusters estão incluídos em cada fase e grupo da sua estratégia de atualização para controlar a sequência de atualização:
-
Rótulos de membros (recomendados): Atribua rótulos a cada membro da frota e usa
memberSelectorpara selecionar membros por esses rótulos. Cada membro pode ter várias etiquetas. - Atualizar grupos: Atribua um grupo de atualização a cada membro da frota, depois define grupos na tua estratégia que correspondam a esses nomes. Cada membro só pode pertencer a um grupo.
Crie uma estratégia de atualização usando selecionadores de membros (pré-visualização)
As etiquetas de membros são a abordagem recomendada para selecionar clusters nas suas estratégias de atualização porque oferecem mais flexibilidade. Para detalhes conceptuais, veja Agrupamentos de grupo usando rótulos de membros.
Importante
As funcionalidades em versão prévia do Azure Kubernetes Fleet Manager estão disponíveis num modelo de autoatendimento e adesão voluntária. As visualizações prévias são fornecidas "como estão" e "conforme disponíveis" e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões prévias do Azure Kubernetes Fleet Manager são parcialmente cobertas pelo apoio ao cliente numa base de melhor esforço possível. Assim sendo, estas funcionalidades não se destinam ao uso em produção.
Aplicar etiquetas nos clusters de membros
Aplique etiquetas ao adicionar um agrupamento de membros à frota
Aplique etiquetas aos membros da sua frota usando o az fleet member create comando. O exemplo seguinte aplica dois rótulos ao grupo de membros: env=staging e tier=frontend:
az fleet member create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name member1 \
--member-cluster-id $CLUSTERID \
--labels "env=staging tier=frontend"
Aplique etiquetas a um membro da frota existente
Aplique etiquetas aos membros da sua frota usando o az fleet member update comando
az fleet member update \
--resource-group $GROUP \
--fleet-name $FLEET \
--name member1 \
--labels "env=staging tier=frontend"
Criar uma estratégia de atualização
Uma estratégia de atualização consiste em um ou mais estágios, onde um estágio pode conter um ou mais grupos de atualização.
Crie um arquivo JSON para definir os estágios e grupos para a execução da atualização. Os estágios são executados sequencialmente na ordem em que aparecem no arquivo JSON. Os grupos correm em paralelo dentro de cada estágio. O seguinte ficheiro de exemplo (example-labels-strategy.json) define uma estratégia com dois estágios que usam
memberSelectorpara selecionar clusters pelos seus rótulos e inclui definições opcionaismaxConcurrency:- O estágio
stagingutiliza ummemberSelectorao nível de estágio para selecionar todos os clusters com o rótuloenv=staginge criar um grupo implícito. - O
productionestágio utiliza ummemberSelectorde nível de estágio para pré-filtrar clusters com o rótuloenv=production, depois define dois grupos, cada um commemberSelectorpróprio para selecionar clusters pelo rótulotier.
Quando
memberSelectorestá configurado em um grupo, o camponamedo grupo é usado apenas como identificador de visualização para relatórios de status e de registo, e não é mais utilizado para a seleção dos membros da frota com base em atualizações de grupos.{ "stages": [ { "name": "staging", "memberSelector": { "byLabel": "env=staging" }, "maxConcurrency": "1", "afterStageWaitInSeconds": 600 }, { "name": "production", "memberSelector": { "byLabel": "env=production" }, "maxConcurrency": "4", "groups": [ { "name": "frontend", "memberSelector": { "byLabel": "tier=frontend" }, "maxConcurrency": "3" }, { "name": "backend", "memberSelector": { "byLabel": "tier=backend" }, "maxConcurrency": "3" } ] } ] }- O estágio
Nota
O maxConcurrency campo é opcional e controla quantos clusters podem ser atualizados simultaneamente ao nível do estágio ou grupo. Use um valor maior para atualizar clusters mais rapidamente na sua frota, ou um valor menor para uma implementação mais controlada que limite o raio de explosão caso surjam problemas.
Quando uma fase usa memberSelector sem grupos (como staging), todos os membros correspondentes formam um único grupo implícito e a fase maxConcurrency controla diretamente a concorrência. Quando grupos são definidos (como production), o nível maxConcurrency de palco atua como um teto global para todos os grupos.
Neste exemplo, a staging fase define maxConcurrency para "1", pelo que os clusters de staging são atualizados um de cada vez. O production estágio permite até "4" clusters em simultâneo, com o grupo frontend e o backend limitados a "3".
Os valores podem ser um inteiro fixo (por exemplo, "3") ou uma percentagem (por exemplo, "50%"). Se for omitido, o sistema aplica valores por defeito. Para detalhes sobre como estes valores são resolvidos e os seus limites superiores, veja Concorrência máxima (pré-visualização).
Crie uma nova estratégia de atualização usando o
az fleet updatestrategy createcomando com o sinalizador--stagesdefinido como o nome do seu arquivo JSON.az fleet updatestrategy create \ --resource-group $GROUP \ --fleet-name $FLEET \ --name $STRATEGY \ --stages example-labels-strategy.json
Crie uma estratégia de atualização usando grupos de atualização
Clusters também podem ser selecionados em estratégias de atualização, atribuindo-os a um único grupo de atualização. Pode definir uma estratégia de atualização que atribua estes grupos de atualização a estágios. Dentro de um estágio de atualização, as atualizações são aplicadas a cada grupo de atualizações em paralelo. Dentro de um grupo de atualização, os clusters de membros são atualizados sequencialmente.
Nota
Um membro da frota só pode fazer parte de um grupo de atualização, mas um grupo de atualização pode ter vários membros da frota atribuídos a ele. Um grupo de atualização em si não é um tipo de recurso separado. Os grupos de atualização são apenas cadeias de caracteres que representam referências dos membros da frota. Assim, se todos os membros da frota com referências a um grupo de atualização comum forem excluídos, esse grupo de atualização específico também deixará de existir.
Atribuir clusters a grupos de atualização
Atribuir ao grupo ao adicionar cluster de membros à frota
No portal do Azure, navegue até o recurso do Azure Kubernetes Fleet Manager.
No menu de serviço, em Configurações, selecione Clusters de membros>Adicionar.
Selecione o cluster que pretende adicionar e, em seguida, selecione Seguinte: Rever + adicionar.
Introduza o nome do grupo de atualizações ao qual pretende atribuir o cluster e, em seguida, selecione Adicionar.
Atribuir um membro da frota existente a um grupo de atualização
No portal do Azure, navegue até o recurso do Azure Kubernetes Fleet Manager.
No menu de serviço, em Configurações, selecione Clusters de membros.
Selecione os clusters que pretende atribuir a um grupo de atualizações e, em seguida, selecione Atribuir grupo de atualizações
Introduza o nome do grupo de atualização ao qual pretende atribuir o cluster e, em seguida, selecione Atribuir.
Criar uma estratégia de atualização
Uma estratégia de atualização consiste em um ou mais estágios, onde um estágio pode conter um ou mais grupos de atualização.
No portal do Azure, navegue até o recurso do Azure Kubernetes Fleet Manager.
No menu de serviço, em Configurações, selecione de vários clusters e, em seguida>.
Insira um nome para a estratégia.
Na primeira vez que você visualiza a página, um diagrama de explicação da estratégia de atualização é exibido que pode ajudar a visualizar como as estratégias funcionam.
Selecione Criar estágio e digite:
- Nome da etapa - nomeie a etapa - deve ser único entre todos os nomes de etapa na estratégia.
- Aprovações de estágio (opcional) - selecione esta opção se quiser aguardar uma aprovação antes que esta etapa comece ou depois de ser concluída. Para obter mais informações, consulte Adicionar aprovações para atualizar grupos e estágios.
- (Opcional) Pausar após etapa - selecione esta opção se quiser definir uma pausa antes de passar para a próxima etapa.
- (Opcional) Duração da pausa - selecione uma duração predefinida ou insira um valor personalizado em segundos.
Atribui um ou mais Grupos de Atualização ao palco e depois seleciona Criar.
Nota
O número máximo de Grupos de Atualização em cada Estágio de Atualização é 50.
Próximos passos
Você pode usar uma estratégia de atualização como parte de uma execução de atualização manual ou um perfil de atualização automática. Veja:
- Como fazer: Atualizar vários clusters usando as execuções de atualização do Kubernetes Fleet Manager do Azure.
- Como: Adicionar aprovações às Estratégias de Atualização do Gerenciador de Frota do Kubernetes do Azure.
- Como fazer: atualize automaticamente vários clusters usando o Azure Kubernetes Fleet Manager.
- Perguntas frequentes sobre atualizações de vários clusters.