Aggiornare un cluster Kubernetes nell'hub Azure StackUpgrade a Kubernetes cluster on Azure Stack Hub

Aggiornare un clusterUpgrade a cluster

Il motore AKS consente di aggiornare il cluster originariamente distribuito con lo strumento.The AKS engine allows you to upgrade the cluster that was originally deployed using the tool. È possibile gestire i cluster usando il motore AKS.You can maintain the clusters using the AKS engine. Le attività di manutenzione sono simili a qualsiasi sistema IaaS.Your maintenance tasks are similar to any IaaS system. È necessario tenere presente la disponibilità dei nuovi aggiornamenti e usare il motore AKS per applicarli.You should be aware of the availability of new updates and use the AKS engine to apply them.

Il comando di aggiornamento aggiorna la versione di Kubernetes e l'immagine del sistema operativo di base.The upgrade command updates the Kubernetes version and the base OS image. Ogni volta che si esegue il comando di aggiornamento per ogni nodo del cluster, il motore AKS crea una nuova macchina virtuale usando l'immagine di base AKS associata alla versione del motore AKS usato.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. È possibile usare il aks-engine upgrade comando per gestire la valuta di ogni nodo master e agente nel cluster.You can use the aks-engine upgrade command to maintain the currency of every master and agent node in your cluster.

Microsoft non gestisce il cluster.Microsoft doesn't manage your cluster. Microsoft fornisce tuttavia lo strumento e l'immagine di macchina virtuale che è possibile usare per gestire il cluster.But Microsoft provides the tool and VM image you can use to manage your cluster.

Per una copertura degli aggiornamenti del cluster distribuiti:For a deployed cluster upgrades cover:

  • KubernetesKubernetes
  • Provider Kubernetes Hub Azure StackAzure Stack Hub Kubernetes provider
  • Sistema operativo di baseBase OS

Quando si aggiorna un cluster di produzione, considerare quanto segue:When upgrading a production cluster, consider:

  • Si stanno usando le specifiche del cluster corrette ( apimodel.json ) e il gruppo di risorse per il cluster di destinazione?Are you using the correct cluster specification (apimodel.json) and resource group for the target cluster?
  • Si sta usando un computer affidabile per il computer client per eseguire il motore AKS e da cui si eseguono le operazioni di aggiornamento?Are you using a reliable machine for the client machine to run the AKS engine and from which you are performing upgrade operations?
  • Assicurarsi di disporre di un cluster di backup e che sia operativo.Make sure that you have a backup cluster and that it is operational.
  • Se possibile, eseguire il comando da una macchina virtuale all'interno dell'ambiente Azure Stack hub per ridurre gli hop di rete e potenziali errori di connettività.If possible, run the command from a VM within the Azure Stack Hub environment to decrease the network hops and potential connectivity failures.
  • Assicurarsi che la sottoscrizione disponga di spazio sufficiente per l'intero processo.Make sure that your subscription has enough space for the entire process. Il processo alloca nuove macchine virtuali durante il processo.The process allocates new VMs during the process.
  • Non sono previsti aggiornamenti del sistema o attività pianificate.No system updates or scheduled tasks are planned.
  • Configurare un aggiornamento di gestione temporanea in un cluster configurato esattamente come cluster di produzione e testare l'aggiornamento prima di procedere nel cluster di produzioneSet 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

Passaggi per eseguire l'aggiornamento a una versione più recente di KubernetesSteps to upgrade to a newer Kubernetes version

Nota

L'immagine di base AKS verrà aggiornata anche se si usa una versione più recente del motore AKS e l'immagine è disponibile nel 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.

Nelle istruzioni seguenti vengono utilizzati i passaggi minimi per eseguire l'aggiornamento.The following instructions use the minimum steps to perform the upgrade. Per ulteriori dettagli, vedere l'articolo relativo all' aggiornamento dei cluster Kubernetes.If would like additional detail, see the article Upgrading Kubernetes Clusters.

  1. È necessario innanzitutto determinare le versioni di cui è possibile fare riferimento per l'aggiornamento.You need to first determine the versions you can target for the upgrade. Questa versione dipende dalla versione attualmente disponibile e quindi utilizza tale valore per eseguire l'aggiornamento.This version depends on the version you currently have and then use that version value to perform the upgrade. Le versioni di Kubernetes supportate nell'ultimo aggiornamento sono 1.14.7 e 1.15.10.The versions of Kubernetes supported in the latest update are 1.14.7 and 1.15.10. Per gli aggiornamenti disponibili, seguire questa tabella:Follow this table for the upgrades available:
Versione correnteCurrent version Aggiornamento disponibileUpgrade 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

Per un mapping completo del motore AKS, l'immagine di base AKS e le versioni Kubernetes vedere versioni del motore AKS supportate.For a complete mapping of AKS engine, AKS Base Image and Kubernetes versions see Supported AKS Engine Versions.

  1. Raccogliere le informazioni necessarie per eseguire il upgrade comando.Collect the information you will need to run the upgrade command. L'aggiornamento utilizza i parametri seguenti:The upgrade uses the following parameters:

    ParametroParameter EsempioExample DescrizioneDescription
    Azure-ENVazure-env AzureStackCloudAzureStackCloud Per indicare al motore AKS che la piattaforma di destinazione è Azure Stack uso dell'hub AzureStackCloud .To indicate to AKS engine that your target platform is Azure Stack Hub use AzureStackCloud.
    locationlocation localilocal Nome dell'area per l'hub Azure Stack.The region name for your Azure Stack Hub. Per Gabriele, l'area è impostata su local .For the ASDK, the region is set to local.
    resource-groupresource-group Kube-RGkube-rg Immettere il nome di un nuovo gruppo di risorse o selezionare un gruppo di risorse esistente.Enter the name of a new resource group or select an existing resource group. Il nome della risorsa deve essere alfanumerico e minuscolo.The resource name needs to be alphanumeric and lowercase.
    subscription-idsubscription-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Immettere l'ID sottoscrizione.Enter your Subscription ID. Per altre informazioni, vedere sottoscrivere un'offertaFor more information, see Subscribe to an offer
    modello APIapi-model ./kubernetes-azurestack.jsil./kubernetes-azurestack.json Percorso del file di configurazione del cluster o del modello API.Path to the cluster configuration file, or API model.
    ID clientclient-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Immettere il GUID dell'entità servizio.Enter the service principal GUID. ID client identificato come ID applicazione quando l'amministratore dell'hub Azure Stack ha creato l'entità servizio.The Client ID identified as the Application ID when your Azure Stack Hub administrator created the service principal.
    segreto clientclient-secret xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Immettere il segreto dell'entità servizio.Enter the service principal secret. Si tratta del segreto client configurato durante la creazione del servizio.This is the client secret you set up when creating your service.
    sistema di identitàidentity-system ADFSadfs facoltativo.Optional. Specificare la soluzione di gestione delle identità se si usa Active Directory servizi federati (AD FS).Specify your identity management solution if you are using Active Directory Federated Services (AD FS).
  2. Con i valori imposti, eseguire il comando seguente: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 per qualsiasi motivo l'operazione di aggiornamento rileva un errore, è possibile eseguire nuovamente il comando di aggiornamento dopo aver risolto il problema.If for any reason the upgrade operation encounters a failure, you can rerun the upgrade command after addressing the issue. Il motore AKS riprenderà l'operazione in cui ha avuto esito negativo nell'ora precedente.The AKS engine will resume the operation where it failed the previous time.

Passaggi per aggiornare solo l'immagine del sistema operativoSteps to only upgrade the OS image

  1. Esaminare la tabella supported-kubernetes-Versions e determinare se è presente la versione dell'immagine di base AKS-Engine e AKS che si prevede di aggiornare.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. Per visualizzare la versione dell'esecuzione del motore AKS: aks-engine version .To view the version of aks-engine run: aks-engine version.
  2. Aggiornare il motore AKS di conseguenza, nel computer in cui è installato AKS-Engine Run: ./get-akse.sh --version vx.xx.x sostituendo x. XX. x con la versione di destinazione.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. Richiedere all'operatore Azure Stack Hub di aggiungere la versione dell'immagine di base di AKS necessaria nel Marketplace di hub Azure Stack che si prevede di usare.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. Eseguire il aks-engine upgrade comando usando la stessa versione di Kubernetes già in uso, ma aggiungere il --force .Run the aks-engine upgrade command using the same version of Kubernetes that you are already using, but add the --force. È possibile vedere un esempio che consente di forzare un aggiornamento.You can see an example in Forcing an upgrade.

Esecuzione forzata di un aggiornamentoForcing an upgrade

In alcuni casi potrebbe essere necessario forzare un aggiornamento del cluster.There may be conditions where you may want to force an upgrade of your cluster. Ad esempio, il giorno uno si distribuisce un cluster in un ambiente disconnesso usando la versione più recente di Kubernetes.For example, on day one you deploy a cluster in a disconnected environment using the latest Kubernetes version. Il giorno seguente Ubuntu rilascia una patch a una vulnerabilità per la quale Microsoft genera una nuova immagine di base AKS.The following day Ubuntu releases a patch to a vulnerability for which Microsoft generates a new AKS Base Image. È possibile applicare la nuova immagine forzando un aggiornamento usando la stessa versione di Kubernetes già distribuita.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

Per istruzioni, vedere Force upgrade.For instructions, see Force upgrade.

Passaggi successiviNext steps