Tutorial: Actualización de Kubernetes en Azure Kubernetes Service (AKS)Tutorial: Upgrade Kubernetes in Azure Kubernetes Service (AKS)

Como parte del ciclo de vida de la aplicación y del clúster, es posible que desee actualizar su versión de Kubernetes a la más reciente y usar las nuevas características.As part of the application and cluster lifecycle, you may wish to upgrade to the latest available version of Kubernetes and use new features. Un clúster de Azure Kubernetes Service (AKS) se puede actualizar mediante la CLI de Azure.An Azure Kubernetes Service (AKS) cluster can be upgraded using the Azure CLI.

En este tutorial, la séptima parte de siete, se actualiza un clúster de Kubernetes.In this tutorial, part seven of seven, a Kubernetes cluster is upgraded. Aprenderá a:You learn how to:

  • Identificación de las versiones de Kubernetes actuales y disponiblesIdentify current and available Kubernetes versions
  • Actualización de los nodos de KubernetesUpgrade the Kubernetes nodes
  • Validación de una actualización correctaValidate a successful upgrade

Antes de empezarBefore you begin

En los tutoriales anteriores se empaquetó una aplicación en una imagen de contenedor.In previous tutorials, an application was packaged into a container image. Esta imagen se cargó en Azure Container Registry y el usuario creó un clúster de AKS.This image was uploaded to Azure Container Registry, and you created an AKS cluster. Luego la aplicación se implementó en el clúster de AKS.The application was then deployed to the AKS cluster. Si no ha realizado estos pasos, pero desea continuar, comience con el Tutorial 1: Creación de imágenes de contenedor.If you have not done these steps, and would like to follow along, start with Tutorial 1 – Create container images.

Para realizar este tutorial es necesario disponer de la versión 2.0.53, o superior, de la CLI de Azure.This tutorial requires that you are running the Azure CLI version 2.0.53 or later. Ejecute az --version para encontrar la versión.Run az --version to find the version. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.If you need to install or upgrade, see Install Azure CLI.

Obtención de las versiones disponibles del clústerGet available cluster versions

Antes de actualizar un clúster, use el comando az aks get-upgrades para comprobar qué versiones de Kubernetes están disponibles para la actualización:Before you upgrade a cluster, use the az aks get-upgrades command to check which Kubernetes releases are available for upgrade:

az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster --output table

En el siguiente ejemplo, la versión actual es la 1.13.10 y las versiones disponibles se muestran en la columna Upgrades (Actualizaciones).In the following example, the current version is 1.13.10, and the available versions are shown under the Upgrades column.

Name     ResourceGroup    MasterVersion    NodePoolVersion    Upgrades
-------  ---------------  ---------------  -----------------  --------------
default  myResourceGroup  1.13.10          1.13.10            1.14.5, 1.14.6

Actualización de un clústerUpgrade a cluster

Para minimizar las interrupciones en las aplicaciones en ejecución, los nodos de AKS se acordonan y purgan minuciosamente.To minimize disruption to running applications, AKS nodes are carefully cordoned and drained. En este proceso, se realizan los pasos siguientes:In this process, the following steps are performed:

  1. El programador de Kubernetes impide que se programen pods adicionales en un nodo que se va a actualizar.The Kubernetes scheduler prevents additional pods being scheduled on a node that is to be upgraded.
  2. Los pods en ejecución en el nodo se programan en otros nodos del clúster.Running pods on the node are scheduled on other nodes in the cluster.
  3. Se crea un nodo que ejecuta los componentes más recientes de Kubernetes.A node is created that runs the latest Kubernetes components.
  4. Cuando el nuevo nodo está listo y se ha unido al clúster, el programador de Kubernetes comienza a ejecutar pods en él.When the new node is ready and joined to the cluster, the Kubernetes scheduler begins to run pods on it.
  5. El nodo antiguo se elimina y el siguiente nodo del clúster comienza el proceso de acordonamiento y purga.The old node is deleted, and the next node in the cluster begins the cordon and drain process.

Use el comando az aks upgrade para actualizar el clúster de AKS.Use the az aks upgrade command to upgrade the AKS cluster. En el ejemplo siguiente se actualiza el clúster a la versión 1.14.6 de Kubernetes.The following example upgrades the cluster to Kubernetes version 1.14.6.

Nota

No se pueden actualizar varias versiones secundarias al mismo tiempo.You can only upgrade one minor version at a time. Por ejemplo, puede realizar la actualización de la versión 1.12.x a la 1.13.x, pero no de la 1.12.x a la 1.14.x directamente.For example, you can upgrade from 1.12.x to 1.13.x, but cannot upgrade from 1.12.x to 1.14.x directly. Para actualizar de la versión 1.12.x a la 1.14.x, primero actualice de la 1.12.x a la 1.13.x y, después, realice otra actualización de la versión 1.13.x a la 1.14.x.To upgrade from 1.12.x to 1.14.x, first upgrade from 1.12.x to 1.13.x, then perform another upgrade from 1.13.x to 1.14.x.

az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.14.6

La siguiente salida de ejemplo condensada muestra que kubernetesVersion es ahora 1.14.6:The following condensed example output shows the kubernetesVersion now reports 1.14.6:

{
  "agentPoolProfiles": [
    {
      "count": 3,
      "maxPods": 110,
      "name": "nodepool1",
      "osType": "Linux",
      "storageProfile": "ManagedDisks",
      "vmSize": "Standard_DS1_v2",
    }
  ],
  "dnsPrefix": "myAKSClust-myResourceGroup-19da35",
  "enableRbac": false,
  "fqdn": "myaksclust-myresourcegroup-19da35-bd54a4be.hcp.eastus.azmk8s.io",
  "id": "/subscriptions/<Subscription ID>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster",
  "kubernetesVersion": "1.14.6",
  "location": "eastus",
  "name": "myAKSCluster",
  "type": "Microsoft.ContainerService/ManagedClusters"
}

Validación de una actualizaciónValidate an upgrade

Confirme que la actualización se realizó correctamente con el comando az aks show, tal como se muestra a continuación:Confirm that the upgrade was successful using the az aks show command as follows:

az aks show --resource-group myResourceGroup --name myAKSCluster --output table

La salida del ejemplo siguiente muestra que el clúster de AKS ejecuta KubernetesVersion 1.14.6:The following example output shows the AKS cluster runs KubernetesVersion 1.14.6:

Name          Location    ResourceGroup    KubernetesVersion    ProvisioningState    Fqdn
------------  ----------  ---------------  -------------------  -------------------  ----------------------------------------------------------------
myAKSCluster  eastus      myResourceGroup  1.14.6               Succeeded            myaksclust-myresourcegroup-19da35-bd54a4be.hcp.eastus.azmk8s.io

Eliminación del clústerDelete the cluster

Como este tutorial es la última parte de la serie, puede que quiera eliminar el clúster de AKS.As this tutorial is the last part of the series, you may want to delete the AKS cluster. Mientras los nodos de Kubernetes se ejecutan en Azure Virtual Machines (VM), seguirán acumulando cargos, aunque no se use el clúster.As the Kubernetes nodes run on Azure virtual machines (VMs), they continue to incur charges even if you don't use the cluster. Use el comando az group delete para quitar el grupo de recursos, el servicio de contenedor y todos los recursos relacionados.Use the az group delete command to remove the resource group, container service, and all related resources.

az group delete --name myResourceGroup --yes --no-wait

Nota

Cuando elimina el clúster, la entidad de servicio Azure Active Directory que utiliza el clúster de AKS no se quita.When you delete the cluster, the Azure Active Directory service principal used by the AKS cluster is not removed. Para conocer los pasos que hay que realizar para quitar la entidad de servicio, consulte Consideraciones principales y eliminación de AKS.For steps on how to remove the service principal, see AKS service principal considerations and deletion.

Pasos siguientesNext steps

En este tutorial, actualizó Kubernetes en un clúster de AKS.In this tutorial, you upgraded Kubernetes in an AKS cluster. Ha aprendido a:You learned how to:

  • Identificación de las versiones de Kubernetes actuales y disponiblesIdentify current and available Kubernetes versions
  • Actualización de los nodos de KubernetesUpgrade the Kubernetes nodes
  • Validación de una actualización correctaValidate a successful upgrade

Siga este vínculo para obtener más información acerca de AKS.Follow this link to learn more about AKS.