Atualizar um cluster kubernetes no Hub de Azure StackUpgrade a Kubernetes cluster on Azure Stack Hub

Atualizar um clusterUpgrade a cluster

O mecanismo AKS permite que você atualize o cluster que foi originalmente implantado usando a ferramenta.The AKS engine allows you to upgrade the cluster that was originally deployed using the tool. Você pode manter os clusters usando o mecanismo AKS.You can maintain the clusters using the AKS engine. Suas tarefas de manutenção são semelhantes a qualquer sistema de IaaS.Your maintenance tasks are similar to any IaaS system. Você deve estar ciente da disponibilidade de novas atualizações e usar o mecanismo AKS para aplicá-las.You should be aware of the availability of new updates and use the AKS engine to apply them.

O comando Atualizar atualiza a versão kubernetes e a imagem do sistema operacional base.The upgrade command updates the Kubernetes version and the base OS image. Toda vez que você executar o comando de atualização, para cada nó do cluster, o mecanismo AKS criará uma nova VM usando a imagem base AKS associada à versão do AKs-Engine usada.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. Você pode usar o aks-engine upgrade comando para manter a moeda de cada nó mestre e de agente em seu cluster.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 gerencia seu cluster.Microsoft doesn't manage your cluster. Mas a Microsoft fornece a ferramenta e a imagem de VM que você pode usar para gerenciar seu cluster.But Microsoft provides the tool and VM image you can use to manage your cluster.

Para uma atualização de cluster implantada, aborde:For a deployed cluster upgrades cover:

  • KubernetesKubernetes
  • Provedor de kubernetes de Hub de Azure StackAzure Stack Hub Kubernetes provider
  • Sistema operacional baseBase OS

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

  • Você está usando a especificação de cluster ( apimodel.json ) e o grupo de recursos corretos para o cluster de destino?Are you using the correct cluster specification (apimodel.json) and resource group for the target cluster?
  • Você está usando uma máquina confiável para o computador cliente executar o mecanismo do AKS e do qual você está executando 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?
  • Verifique se você tem um cluster de backup e se ele está funcionando.Make sure that you have a backup cluster and that it is operational.
  • Se possível, execute o comando de uma VM dentro do ambiente de Hub de Azure Stack para diminuir os saltos de rede e possíveis 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 sua assinatura tenha espaço suficiente para todo o processo.Make sure that your subscription has enough space for the entire process. O processo aloca novas VMs durante o processo.The process allocates new VMs during the process.
  • Nenhuma atualização do sistema ou tarefas agendadas estão planejadas.No system updates or scheduled tasks are planned.
  • Configurar uma atualização em etapas em um cluster configurado exatamente como o cluster de produção e testar a atualização ali antes de fazer isso em 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

Etapas para atualizar para uma versão mais recente do kubernetesSteps to upgrade to a newer Kubernetes version

Observação

A imagem de base AKS também será atualizada se você estiver usando uma versão mais recente do AKS-Engine e a imagem estiver disponível no Marketplace.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 instruções a seguir usam as etapas mínimas para executar a atualização.The following instructions use the minimum steps to perform the upgrade. Se desejar detalhes adicionais, consulte o artigo atualizando clusters kubernetes.If would like additional detail, see the article Upgrading Kubernetes Clusters.

  1. Primeiro, você precisa determinar as versões que você pode direcionar para a atualização.You need to first determine the versions you can target for the upgrade. Essa versão depende da versão que você tem atualmente e, em seguida, usa esse valor de versão para executar 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 do kubernetes com suporte na atualização mais recente 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 Atualização 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 obter um mapeamento completo do mecanismo de AKS, a imagem de base AKS e as versões do kubernetes consulte versões do mecanismo de AKs com suporte.For a complete mapping of AKS engine, AKS Base Image and Kubernetes versions see Supported AKS Engine Versions.

  1. Colete as informações necessárias para executar o upgrade comando.Collect the information you will need to run the upgrade command. A atualização usa os seguintes parâmetros:The upgrade uses the following parameters:

    ParâmetroParameter ExemploExample DescriçãoDescription
    Azure-envazure-env AzureStackCloudAzureStackCloud Para indicar ao mecanismo AKS que sua plataforma de destino é Azure Stack uso do Hub AzureStackCloud .To indicate to AKS engine that your target platform is Azure Stack Hub use AzureStackCloud.
    locallocation locallocal O nome da região para o Hub de Azure Stack.The region name for your Azure Stack Hub. Para o ASDK, a região é definida como 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 precisa ser alfanumérico e minúsculo.The resource name needs to be alphanumeric and lowercase.
    id da assinaturasubscription-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Insira sua ID de assinatura.Enter your Subscription ID. Para obter mais informações, consulte assinar uma ofertaFor more information, see Subscribe to an offer
    API-modeloapi-model ./kubernetes-azurestack.jsem./kubernetes-azurestack.json Caminho para o arquivo de configuração de cluster ou modelo de API.Path to the cluster configuration file, or API model.
    ID do clienteclient-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Insira o GUID da entidade de serviço.Enter the service principal GUID. A ID do cliente identificada como a ID do aplicativo quando o administrador do Hub Azure Stack criou a entidade de serviço.The Client ID identified as the Application ID when your Azure Stack Hub administrator created the service principal.
    segredo do clienteclient-secret xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Insira o segredo da entidade de serviço.Enter the service principal secret. Esse é o segredo do cliente que você configurou ao criar seu serviço.This is the client secret you set up when creating your service.
    sistema de identidadeidentity-system ADFSadfs Opcional.Optional. Especifique sua solução de gerenciamento de identidade se você estiver usando Active Directory serviços federados (AD FS).Specify your identity management solution if you are using Active Directory Federated Services (AD FS).
  2. Com seus valores em vigor, execute 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 algum motivo, a operação de atualização encontrar uma falha, você poderá executar novamente o comando de atualização depois de resolver o problema.If for any reason the upgrade operation encounters a failure, you can rerun the upgrade command after addressing the issue. O mecanismo AKS retomará a operação em que houve falha na hora anterior.The AKS engine will resume the operation where it failed the previous time.

Etapas para atualizar apenas a imagem do sistema operacionalSteps to only upgrade the OS image

  1. Examine a tabela supported-kubernetes-Versions e determine se você tem a versão do AKS-Engine e a imagem base do AKS que você planeja para a 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 exibir a versão da execução do AKS-Engine: aks-engine version .To view the version of aks-engine run: aks-engine version.
  2. Atualize seu mecanismo do AKS de acordo, no computador em que você instalou o AKs-Engine Run: ./get-akse.sh --version vx.xx.x substituindo x. XX. x pela sua versão de destino.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 operador de Hub de Azure Stack para adicionar a versão da imagem base AKS que você precisa no Marketplace de Hub de Azure Stack que você planeja usar.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. Execute o aks-engine upgrade comando usando a mesma versão do kubernetes que você já está usando, 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. Você pode ver um exemplo ao forçar uma atualização.You can see an example in Forcing an upgrade.

Forçando uma atualizaçãoForcing an upgrade

Pode haver condições em que você queira forçar uma atualização do cluster.There may be conditions where you may want to force an upgrade of your cluster. Por exemplo, no dia um, você implanta um cluster em um ambiente desconectado usando 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. O Ubuntu a seguir lança um patch para uma vulnerabilidade para a qual a Microsoft gera uma nova imagem de base AKs.The following day Ubuntu releases a patch to a vulnerability for which Microsoft generates a new AKS Base Image. Você pode aplicar a nova imagem forçando uma atualização usando a mesma versão do kubernetes que você já implantou.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 forçar atualização.For instructions, see Force upgrade.

Próximas etapasNext steps