Atualize um cluster Kubernetes no Azure Stack HubUpgrade a Kubernetes cluster on Azure Stack Hub

Atualizar um clusterUpgrade a cluster

O motor AKS permite-lhe atualizar o cluster que foi originalmente implantado utilizando a ferramenta.The AKS engine allows you to upgrade the cluster that was originally deployed using the tool. Pode manter os clusters utilizando o motor AKS.You can maintain the clusters using the AKS engine. As suas tarefas de manutenção são semelhantes a qualquer sistema IaaS.Your maintenance tasks are similar to any IaaS system. Deve estar ciente da disponibilidade de novas atualizações e utilizar o motor AKS para as aplicar.You should be aware of the availability of new updates and use the AKS engine to apply them.

O comando de atualização atualiza a versão Kubernetes e a imagem base do SO.The upgrade command updates the Kubernetes version and the base OS image. Sempre que executa o comando de upgrade, para cada nó do cluster, o motor AKS cria um novo VM utilizando a Imagem Base AKS associada à versão do motor aks utilizado.Every time that you run the upgrade command, for every node of the cluster, the AKS engine creates a new VM using the AKS Base Image associated to the version of aks-engine used. Pode usar o aks-engine upgrade comando para manter a moeda de todos os nós de mestre e agente no seu agrupamento.You can use the aks-engine upgrade command to maintain the currency of every master and agent node in your cluster.

A Microsoft não gere o seu cluster.Microsoft doesn't manage your cluster. Mas a Microsoft fornece a ferramenta e a imagem VM que pode usar para gerir o seu cluster.But Microsoft provides the tool and VM image you can use to manage your cluster.

Para uma cobertura de upgrades de cluster implantado:For a deployed cluster upgrades cover:

  • Utilizar o KubernetesKubernetes
  • Fornecedor Azure Stack Hub KubernetesAzure Stack Hub Kubernetes provider
  • SO de baseBase OS

Ao atualizar um cluster de produção, considere:When upgrading a production cluster, consider:

  • Está a utilizar a especificação de cluster correta apimodel.json () e o grupo de recursos para o cluster alvo?Are you using the correct cluster specification (apimodel.json) and resource group for the target cluster?
  • Está a utilizar uma máquina de confiança para a máquina cliente para operar o motor AKS e a partir do qual está a realizar operações de atualização?Are you using a reliable machine for the client machine to run the AKS engine and from which you are performing upgrade operations?
  • Certifique-se de que tem um cluster de reserva e que está operacional.Make sure that you have a backup cluster and that it is operational.
  • Se possível, executar o comando a partir de um VM dentro do ambiente Azure Stack Hub para diminuir o lúpulo da rede e potenciais falhas de conectividade.If possible, run the command from a VM within the Azure Stack Hub environment to decrease the network hops and potential connectivity failures.
  • Certifique-se de que a sua subscrição tem espaço suficiente para todo o processo.Make sure that your subscription has enough space for the entire process. O processo aloca novos VM durante o processo.The process allocates new VMs during the process.
  • Não estão previstas atualizações do sistema ou tarefas programadas.No system updates or scheduled tasks are planned.
  • Crie uma atualização encenada num cluster que esteja configurado exatamente como o cluster de produção e teste a atualização lá antes de o fazer no seu cluster de produçãoSet up a staged upgrade on a cluster that is configured exactly as the production cluster and test the upgrade there before doing so in your production cluster

Passos para atualizar para uma versão mais recente de KubernetesSteps to upgrade to a newer Kubernetes version

Nota

A imagem base AKS também será atualizada se estiver a utilizar uma versão mais recente do motor aks e a imagem estiver disponível no mercado.The AKS base image will also be upgrade if you are using a newer version of the aks-engine and the image is available in the marketplace.

As seguintes instruções utilizam os passos mínimos para efetuar a atualização.The following instructions use the minimum steps to perform the upgrade. Se quiser detalhes adicionais, consulte o artigo Upgrade de Clusters Kubernetes.If would like additional detail, see the article Upgrading Kubernetes Clusters.

  1. Primeiro, tem de determinar as versões que pode ser alvo para a atualização.You need to first determine the versions you can target for the upgrade. Esta versão depende da versão que tem atualmente e, em seguida, utilizar esse valor de versão para realizar a atualização.This version depends on the version you currently have and then use that version value to perform the upgrade. As versões de Kubernetes suportadas na última atualização são 1.14.7 e 1.15.10.The versions of Kubernetes supported in the latest update are 1.14.7 and 1.15.10. Siga esta tabela para as atualizações disponíveis:Follow this table for the upgrades available:
Versão atualCurrent version Upgrade disponívelUpgrade available
1.15.101.15.10 1.15.121.15.12
1.15.12, 1.16.8, 1.16.91.15.12, 1.16.8, 1.16.9 1.16.141.16.14
1.16.8, 1.16.9, 1.16.141.16.8, 1.16.9, 1.16.14 1.17.111.17.11

Para um mapeamento completo das versões AKS, AKS Base Image e Kubernetes consulte versões suportadas do motor AKS.For a complete mapping of AKS engine, AKS Base Image and Kubernetes versions see Supported AKS Engine Versions.

  1. Recolha a informação que precisa para executar o upgrade comando.Collect the information you will need to run the upgrade command. A atualização utiliza os seguintes parâmetros:The upgrade uses the following parameters:

    ParâmetroParameter ExemploExample DescriptionDescription
    azure-envazure-env AzureStackCloudAzureStackCloud Para indicar ao motor AKS que a sua plataforma-alvo é a utilização do Azure Stack Hub AzureStackCloud .To indicate to AKS engine that your target platform is Azure Stack Hub use AzureStackCloud.
    localizaçãolocation locallocal O nome da região para o seu Azure Stack Hub.The region name for your Azure Stack Hub. Para a ASDK, a região está definida para local .For the ASDK, the region is set to local.
    resource-groupresource-group kube-rgkube-rg Insira o nome de um novo grupo de recursos ou selecione um grupo de recursos existente.Enter the name of a new resource group or select an existing resource group. O nome do recurso tem de ser alfanumérico e minúsculo.The resource name needs to be alphanumeric and lowercase.
    id de subscriçãosubscription-id xxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Insira o seu ID de assinatura.Enter your Subscription ID. Para mais informações, consulte Subscreva uma ofertaFor more information, see Subscribe to an offer
    api-modeloapi-model ./kubernetes-azurestack.jsem./kubernetes-azurestack.json Caminho para o ficheiro de configuração do cluster, ou modelo API.Path to the cluster configuration file, or API model.
    id clienteclient-id xxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Insira o serviço principal GUID.Enter the service principal GUID. O ID do Cliente identificou-o como o ID da aplicação quando o administrador do Azure Stack Hub criou o principal do serviço.The Client ID identified as the Application ID when your Azure Stack Hub administrator created the service principal.
    cliente-segredoclient-secret xxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Insira o segredo principal do serviço.Enter the service principal secret. Este é o segredo do cliente que criou ao criar o seu serviço.This is the client secret you set up when creating your service.
    sistema de identidadeidentity-system adfsadfs Opcional.Optional. Especifique a sua solução de gestão de identidade se estiver a utilizar serviços federados de Diretório Ativo (AD FS).Specify your identity management solution if you are using Active Directory Federated Services (AD FS).
  2. Com os seus valores no lugar, executar o seguinte comando:With your values in place, run the following command:

    aks-engine upgrade \
    --azure-env AzureStackCloud \
    --location <for an ASDK is local> \
    --resource-group kube-rg \
    --subscription-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
    --api-model kube-rg/apimodel.json \
    --upgrade-version 1.13.5 \
    --client-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
    --client-secret xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
    --identity-system adfs # required if using AD FS
    
  3. Se, por qualquer motivo, a operação de atualização encontrar uma falha, pode voltar a atualizar o comando de atualização depois de abordar o problema.If for any reason the upgrade operation encounters a failure, you can rerun the upgrade command after addressing the issue. O motor AKS retomará a operação onde falhou na anterior.The AKS engine will resume the operation where it failed the previous time.

Passos para apenas atualizar a imagem do SOSteps to only upgrade the OS image

  1. Reveja a tabela de versões de kubernetes suportadas e determine se tem a versão do motor aks e da imagem base AKS que planeia para a sua atualização.Review the supported-kubernetes-versions table and determine if you have the version of aks-engine and AKS base Image that you plan for your upgrade. Para ver a versão do motor aks: aks-engine version .To view the version of aks-engine run: aks-engine version.
  2. Atualize o seu motor AKS em conformidade, na máquina onde instalou o motor aks: ./get-akse.sh --version vx.xx.x substituindo x.xx.x pela sua versão-alvo.Upgrade your AKS engine accordingly, in the machine where you have installed aks-engine run: ./get-akse.sh --version vx.xx.x replacing x.xx.x with your targeted version.
  3. Peça ao seu operador Azure Stack Hub para adicionar a versão da Imagem Base AKS que necessita no Azure Stack Hub Marketplace que pretende utilizar.Ask your Azure Stack Hub operator to add the version of the AKS Base Image you need in the Azure Stack Hub Marketplace that you plan to use.
  4. Executar o aks-engine upgrade comando usando a mesma versão de Kubernetes que já está a usar, mas adicione o --force .Run the aks-engine upgrade command using the same version of Kubernetes that you are already using, but add the --force. Pode ver um exemplo em forçar uma atualização.You can see an example in Forcing an upgrade.

Forçar uma atualizaçãoForcing an upgrade

Pode haver condições em que possa querer forçar uma atualização do seu cluster.There may be conditions where you may want to force an upgrade of your cluster. Por exemplo, no primeiro dia, implementa-se um cluster num ambiente desligado utilizando a versão mais recente do Kubernetes.For example, on day one you deploy a cluster in a disconnected environment using the latest Kubernetes version. No dia seguinte, a Ubuntu lança um patch para uma vulnerabilidade para a qual a Microsoft gera uma nova imagem base AKS.The following day Ubuntu releases a patch to a vulnerability for which Microsoft generates a new AKS Base Image. Pode aplicar a nova imagem forçando uma atualização utilizando a mesma versão Kubernetes que já implementou.You can apply the new image by forcing an upgrade using the same Kubernetes version you already deployed.

aks-engine upgrade \
--azure-env AzureStackCloud   
--location <for an ASDK is local> \
--resource-group kube-rg \
--subscription-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--api-model kube-rg/apimodel.json \
--upgrade-version 1.13.5 \
--client-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--client-secret xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--force

Para obter instruções, consulte a atualização da Força.For instructions, see Force upgrade.

Passos seguintesNext steps