El 3 de junio, se lanzó una versión nueva de los clústeres de Anthos alojados en AWS (GKE on AWS). Consulta las notas de la versión para obtener más información.

Actualiza un clúster de usuario

En esta página, se muestra cómo actualizar un clúster de usuario a una versión nueva de GKE on AWS.

Antes de comenzar

Antes de que puedas completar estos pasos, debes tener un servicio de administración y al menos un clúster de usuario.

Versiones de Kubernetes compatibles

GKE on AWS aws-1.5.0-gke.6 admite las siguientes versiones de Kubernetes:

  • 1.17.9-gke.2800
  • 1.16.15-gke.700

Actualizaciones de componentes

En esta sección, se describe cómo actualizar los AWSClusters y los AWSNodePools.

AWSCluster

Puedes actualizar un AWSCluster a una nueva versión de GKE on AWS sin actualizar los AWSNodePools.

AWSNodePools

No puedes actualizar un AWSNodePool a una versión más nueva que tu AWSCluster. Para actualizar los AWSNodePools, primero debes actualizar el AWSCluster.

Los AWSNodePools solo pueden tener una o dos versiones anteriores a la versión de los AWSCluster.

Actualiza un AWSCluster y un AWSNodePool existente

Para actualizar el clúster, actualiza el campo version de los objetos AWSCluster y AWSNodePool en el servicio de administración.

AWSCluster

Para actualizar un AWSCluster, realiza los siguientes pasos:

  1. Desde tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio de administración.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Abre el archivo YAML que creó el AWSCluster en un editor de texto. Si no tienes el archivo YAML inicial, puedes usar kubectl edit.

    Edita mediante YAML

    Si seguiste las instrucciones en Crea un clúster de usuario, el archivo YAML se llama cluster-0.yaml. Abre este archivo en un editor de texto.

    Edita mediante kubectl

    Para usar kubectl edit a fin de editar el AWSCluster, ejecuta el siguiente comando:

     env HTTP_PROXY=http://localhost:8118 \
       kubectl edit awscluster cluster-name
    

    Reemplaza cluster-name por el AWSCluster. Por ejemplo, para editar el clúster predeterminado, cluster-0, ejecuta el siguiente comando:

     env HTTP_PROXY=http://localhost:8118 \
       kubectl edit awscluster cluster-0
    
  3. Actualiza el campo spec.controlPlane.version a una versión nueva de GKE on AWS. La versión más reciente es 1.17.9-gke.2800.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSCluster
    metadata:
      name: cluster-0
    spec:
      region: us-east-1
      controlPlane:
        version: gke_version
        instanceType: t3.medium
      ...
    

    Reemplaza gke_version por la versión de GKE on AWS que desees.

  4. Guarda el archivo y aplícalo al servicio de administración mediante kubectl.

    env HTTP_PROXY=http://localhost:8118 \
    kubectl apply -f cluster-0.yaml
    

    Luego, el servicio de administración actualiza el AWSCluster.

AWSNodePool

Para actualizar un AWSNodePool, sigue estos pasos:

  1. Desde tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio de administración.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Abre el archivo YAML que creó el AWSNodePool en un editor de texto. Si seguiste las instrucciones en Crea un clúster de usuario, este archivo se llama cluster-0.yaml.

  3. Actualiza el valor de spec.version en tus recursos AWSNodePool.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSNodePool
    metadata:
      name: cluster-0-pool-0
    spec:
      clusterName: cluster-0
      region: us-east-1
      version: gke-version
      ...
    

    Reemplaza gke-version por la versión de Kubernetes que deseas. La versión de Kubernetes compatible más reciente es la 1.17.9-gke.2800.

  4. Aplica la configuración nueva en tu servicio de administración con kubectl.

    env HTTP_PROXY=http://localhost:8118 \
      kubectl apply -f cluster-0.yaml
    

    Luego, el servicio de administración actualiza tu AWSNodePool de a un nodo a la vez. Los pods que se ejecutan en nodos reciben un SIGTERM. Si un Pod no se cierra después de un período de gracia, recibe un SIGKILL.

Ver estado

Para obtener el estado de una actualización, ejecuta kubectl get AWSClusters en el servicio de administración.

env HTTP_PROXY=http://localhost:8118 \
    kubectl get AWSClusters

El resultado incluye el nombre, el estado, la antigüedad, la versión y el extremo de cada clúster. Por ejemplo, el siguiente resultado incluye un AWSCluster llamado cluster-0.

NAME        STATE          AGE     VERSION         ENDPOINT
cluster-0   Upgrading   2m41s      1.17.9-gke.2800   gke-xyz.elb.us-east-1.amazonaws.com