Upgrade clusteru Kubernetes na rozbočovači Azure StackUpgrade a Kubernetes cluster on Azure Stack Hub

Upgrade clusteruUpgrade a cluster

Modul AKS umožňuje upgradovat cluster, který byl původně nasazen pomocí nástroje.The AKS engine allows you to upgrade the cluster that was originally deployed using the tool. Clustery můžete udržovat pomocí modulu AKS.You can maintain the clusters using the AKS engine. Vaše úlohy údržby jsou podobné jakémukoli IaaS systému.Your maintenance tasks are similar to any IaaS system. Měli byste si uvědomit o dostupnosti nových aktualizací a použít modul AKS k jejich použití.You should be aware of the availability of new updates and use the AKS engine to apply them.

Příkaz pro upgrade aktualizuje verzi Kubernetes a základní image operačního systému.The upgrade command updates the Kubernetes version and the base OS image. Pokaždé, když spustíte příkaz pro upgrade pro každý uzel clusteru, vytvoří modul AKS nový virtuální počítač pomocí základní image AKS přidružené k používané verzi AKS modulu .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. Pomocí aks-engine upgrade příkazu můžete zachovat měnu všech hlavních uzlů a uzlů agentů v clusteru.You can use the aks-engine upgrade command to maintain the currency of every master and agent node in your cluster.

Microsoft váš cluster nespravuje.Microsoft doesn't manage your cluster. Společnost Microsoft ale poskytuje nástroj a image virtuálních počítačů, které můžete použít ke správě clusteru.But Microsoft provides the tool and VM image you can use to manage your cluster.

Pro nasazení nasazených upgradů clusteru:For a deployed cluster upgrades cover:

  • KubernetesKubernetes
  • Poskytovatel Kubernetesů centra Azure StackAzure Stack Hub Kubernetes provider
  • Základní operační systémBase OS

Při upgradu produkčního clusteru Vezměte v úvahu:When upgrading a production cluster, consider:

  • Používáte pro cílový cluster správnou specifikaci clusteru ( apimodel.json ) a skupinu prostředků?Are you using the correct cluster specification (apimodel.json) and resource group for the target cluster?
  • Používáte pro klientský počítač spolehlivý počítač ke spuštění modulu AKS a ze kterého provádíte operace upgradu?Are you using a reliable machine for the client machine to run the AKS engine and from which you are performing upgrade operations?
  • Ujistěte se, že máte cluster pro zálohování a že je funkční.Make sure that you have a backup cluster and that it is operational.
  • Pokud je to možné, spusťte příkaz z virtuálního počítače v prostředí Azure Stack hub, abyste snížili počet směrování sítě a potenciální problémy s připojením.If possible, run the command from a VM within the Azure Stack Hub environment to decrease the network hops and potential connectivity failures.
  • Ujistěte se, že vaše předplatné má dostatek místa pro celý proces.Make sure that your subscription has enough space for the entire process. Proces během procesu přiděluje nové virtuální počítače.The process allocates new VMs during the process.
  • Nejsou plánovány žádné aktualizace systému ani naplánované úlohy.No system updates or scheduled tasks are planned.
  • Nastavte připravený upgrade na cluster, který je nakonfigurovaný přesně jako produkční cluster, a před tím, než to uděláte, otestujte v produkčním clusteru.Set 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

Postup upgradu na novější verzi KubernetesSteps to upgrade to a newer Kubernetes version

Poznámka

Základní bitová kopie AKS bude upgradována i v případě, že používáte novější verzi modulu AKS a bitová kopie je k dispozici na webu 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.

Následující pokyny používají minimální postup k provedení upgradu.The following instructions use the minimum steps to perform the upgrade. Pokud chcete další podrobnosti, přečtěte si článek upgrade Kubernetes clusterů.If would like additional detail, see the article Upgrading Kubernetes Clusters.

  1. Nejdřív musíte určit verze, které můžete pro upgrade cílit.You need to first determine the versions you can target for the upgrade. Tato verze závisí na verzi, kterou máte aktuálně k dispozici, a potom k provedení upgradu použijte tuto hodnotu verze.This version depends on the version you currently have and then use that version value to perform the upgrade. Verze Kubernetes podporované v nejnovější aktualizaci jsou 1.14.7 a 1.15.10.The versions of Kubernetes supported in the latest update are 1.14.7 and 1.15.10. Pro dostupné upgrady použijte tuto tabulku:Follow this table for the upgrades available:
Aktuální verzeCurrent version Dostupný upgradeUpgrade 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

Úplné mapování modulu AKS, verze AKS Base image a Kubernetes najdete v článku podporované verze modulu AKS.For a complete mapping of AKS engine, AKS Base Image and Kubernetes versions see Supported AKS Engine Versions.

  1. Shromážděte informace, které budete potřebovat ke spuštění upgrade příkazu.Collect the information you will need to run the upgrade command. Upgrade používá následující parametry:The upgrade uses the following parameters:

    ParametrParameter PříkladExample PopisDescription
    Azure – ENVazure-env AzureStackCloudAzureStackCloud K indikaci AKS Engine, že vaše cílová platforma je Azure Stack použití centra AzureStackCloud .To indicate to AKS engine that your target platform is Azure Stack Hub use AzureStackCloud.
    locationlocation locallocal Název oblasti centra Azure Stack.The region name for your Azure Stack Hub. Pro ASDK je oblast nastavena na local .For the ASDK, the region is set to local.
    resource-groupresource-group Kube – RGkube-rg Zadejte název nové skupiny prostředků nebo vyberte existující skupinu prostředků.Enter the name of a new resource group or select an existing resource group. Název prostředku musí být alfanumerický a malý.The resource name needs to be alphanumeric and lowercase.
    ID předplatnéhosubscription-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Zadejte ID předplatného.Enter your Subscription ID. Další informace najdete v tématu přihlášení k odběru nabídky .For more information, see Subscribe to an offer
    rozhraní API – modelapi-model ./kubernetes-azurestack.jsna./kubernetes-azurestack.json Cesta ke konfiguračnímu souboru clusteru nebo modelu rozhraní API.Path to the cluster configuration file, or API model.
    ID klientaclient-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Zadejte identifikátor GUID instančního objektu služby.Enter the service principal GUID. ID klienta identifikované jako ID aplikace, když správce centra Azure Stack vytvořil instanční objekt.The Client ID identified as the Application ID when your Azure Stack Hub administrator created the service principal.
    tajný kód klientaclient-secret xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Zadejte tajný klíč objektu služby.Enter the service principal secret. Toto je tajný kód klienta, který jste nastavili při vytváření služby.This is the client secret you set up when creating your service.
    Identita – systémidentity-system službouadfs Nepovinný parametr.Optional. Pokud používáte federované služby Active Directory (AD FS), zadejte svoje řešení pro správu identit.Specify your identity management solution if you are using Active Directory Federated Services (AD FS).
  2. Po zadání vašich hodnot spusťte následující příkaz: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. Pokud z nějakého důvodu dojde k selhání operace upgradu, můžete po vyřešení problému znovu spustit upgrade příkazu.If for any reason the upgrade operation encounters a failure, you can rerun the upgrade command after addressing the issue. Modul AKS bude pokračovat v operaci, kde se předchozí krok nezdařil.The AKS engine will resume the operation where it failed the previous time.

Postup upgradu image operačního systémuSteps to only upgrade the OS image

  1. Projděte si tabulku Supported-Kubernetes-Versions a určete, jestli máte naou verzi AKS a image AKS Base, kterou plánujete upgradovat.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. Chcete-li zobrazit verzi modulu AKS Runtime: aks-engine version .To view the version of aks-engine run: aks-engine version.
  2. Upgradujte modul AKS odpovídajícím způsobem na počítači, kde jste nainstalovali AKS modul runtime: ./get-akse.sh --version vx.xx.x nahraďte x. xx. x cílovou verzí.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. Požádejte svého operátora centra Azure Stack, aby přidal verzi AKS základního obrázku, kterou potřebujete na webu centra Azure Stack, který chcete použít.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. Spusťte aks-engine upgrade příkaz pomocí stejné verze Kubernetes, kterou jste již používali, ale přidejte --force .Run the aks-engine upgrade command using the same version of Kubernetes that you are already using, but add the --force. V takovém případě se můžete podívat na příklad vynucení upgradu.You can see an example in Forcing an upgrade.

Vynucení upgraduForcing an upgrade

Můžou nastat situace, kdy budete chtít vynutit upgrade clusteru.There may be conditions where you may want to force an upgrade of your cluster. Například jeden den nasadíte cluster v odpojeném prostředí pomocí nejnovější verze Kubernetes.For example, on day one you deploy a cluster in a disconnected environment using the latest Kubernetes version. Následující den Ubuntu uvolní opravu ohrožení zabezpečení, pro kterou Microsoft vygeneruje novou základní image AKS.The following day Ubuntu releases a patch to a vulnerability for which Microsoft generates a new AKS Base Image. Novou bitovou kopii můžete použít vynucením upgradu pomocí stejné verze Kubernetes, kterou jste už nasadili.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

Pokyny najdete v tématu vynucení upgradu.For instructions, see Force upgrade.

Další krokyNext steps