Para actualizar su entorno de GKE en AWS, primero actualice su servicio de administración y luego actualice sus clústeres de usuarios .
Servicio de gestión
En las siguientes secciones actualizará su servicio de administración.
Antes de empezar
Para conectarse a sus recursos de GKE en AWS, siga estos pasos. Seleccione si ya tiene una VPC de AWS (o una conexión directa a su VPC) o si creó una VPC dedicada al crear su servicio de administración.
VPC existente
Si tiene una conexión directa o VPN a una VPC existente, omita la línea env HTTP_PROXY=http://localhost:8118
de los comandos de este tema.
VPC dedicada
Cuando crea un servicio de administración en una VPC dedicada, GKE en AWS incluye un host bastión en una subred pública.
Para conectarse a su servicio de administración, realice los siguientes pasos:
Vaya al directorio con su configuración de GKE en AWS. Este directorio se creó al instalar el servicio de administración .
cd anthos-aws
Para abrir el túnel, ejecute el script
bastion-tunnel.sh
. El túnel redirecciona alocalhost:8118
.Para abrir un túnel al host bastión, ejecute el siguiente comando:
./bastion-tunnel.sh -N
Los mensajes del túnel SSH aparecen en esta ventana. Cuando esté listo para cerrar la conexión, detenga el proceso usando Control+C o cerrando la ventana.
Abra una nueva terminal y cámbiese a su directorio
anthos-aws
.cd anthos-aws
Comprueba que puedes conectarte al clúster con
kubectl
.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-info
La salida incluye la URL del servidor API del servicio de administración.
Mejore su servicio de gestión
Para actualizar su servicio de administración, descargue una nueva versión de anthos-gke
, edite su anthos-gke.yaml
y luego aplique los cambios.
Descargar una nueva versión de anthos-gke
La última versión de la herramienta anthos-gke
es aws-1.14.1-gke.0
. Para descargar una nueva versión de anthos-gke
, siga estos pasos:
La herramienta de línea de comandos anthos-gke
solo es compatible con Linux y macOS.
Descargue el binario de Cloud Storage.
Linux
gcloud storage cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/linux/amd64/anthos-gke .
macOS
gcloud storage cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/darwin/amd64/anthos-gke .
Actualice los permisos de
anthos-gke
y cópielo a/usr/local/bin
.chmod 755 anthos-gke sudo mv anthos-gke /usr/local/bin
Confirme que la versión sea
aws-1.14.1-gke.0
anthos-gke version
Mejore su servicio de gestión
Para actualizar su clúster, realice los siguientes pasos:
- Vaya al directorio con su configuración de GKE en AWS. Este directorio se creó al instalar el servicio de administración .
cd anthos-aws
Abra
anthos-gke.yaml
en un editor de texto. Cambie el valor despec.version
a aws-1.14.1-gke.0.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSManagementService metadata: name: management spec: version: aws-1.14.1-gke.0 region: aws-region ...
Ejecute
anthos-gke aws management init
para validar el objetoAWSManagementService
y actualizar el archivoanthos-gke.status.yaml
.anthos-gke aws management init
Ejecute
anthos-gke aws management apply
para actualizar el servicio de administración en AWS.anthos-gke aws management apply
El comando
anthos-gke
inicia la actualización del servicio de administración. La actualización puede tardar hasta diez minutos en completarse.
Clústeres de usuarios
En las siguientes secciones, actualizará sus clústeres de usuarios.
Antes de empezar
Antes de poder completar estos pasos, debe tener un servicio de administración y al menos un clúster de usuarios .
Versiones de Kubernetes compatibles
GKE en AWS aws-1.14.1-gke.0 admite las siguientes versiones de Kubernetes:
- 1.23.15-gke.2000
- 1.24.9-gke.2100
- 1.25.5-gke.2100
Para obtener información sobre versiones anteriores compatibles, consulte Notas de la versión .
Actualizaciones de componentes
Esta sección describe cómo actualizar sus AWSClusters y AWSNodePools.
Clúster de AWS
Puede actualizar un AWSCluster a una nueva versión de GKE en AWS sin actualizar sus AWSNodePools.
Grupos de nodos de AWS
No es posible actualizar un AWSNodePool a una versión posterior a la de su AWSCluster. Para actualizar sus AWSNodePools, primero debe actualizar su AWSCluster.
Su versión de AWSNodePools no debe ser inferior a dos versiones menores de su versión de AWSCluster.
Actualizar un AWSCluster y un AWSNodePool existente
Para actualizar su clúster, actualice el campo version
de los objetos AWSCluster
y AWSNodePool
en su servicio de administración.
Clúster de AWS
Para actualizar un AWSCluster, realice los siguientes pasos:
Desde su directorio
anthos-aws
, useanthos-gke
para cambiar el contexto a su servicio de administración.cd anthos-aws anthos-gke aws management get-credentials
Abra el archivo YAML que creó su AWSCluster en un editor de texto. Si no tiene el archivo YAML inicial, puede usar
kubectl edit
.Editar YAML
Si siguió las instrucciones de "Crear un clúster de usuarios" , su archivo YAML se llamará
cluster-0.yaml
. Abra este archivo en un editor de texto.edición de kubectl
Para usar
kubectl edit
para editar su AWSCluster, ejecute el siguiente comando:env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-name
Reemplace cluster-name por su clúster de AWS. Por ejemplo, para editar el clúster predeterminado,
cluster-0
, ejecute el siguiente comando:env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-0
Actualice el campo
spec.controlPlane.version
a la nueva versión de GKE en AWS. La versión más reciente es 1.25.5-gke.2100.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSCluster metadata: name: cluster-0 spec: region: us-east-1 controlPlane: version: gke_version instanceType: t3.medium ...
Reemplace gke-version con la versión de Kubernetes que desee. La versión de Kubernetes compatible más reciente es 1.25.5-gke.2100.
Guarde el archivo. Si usa
kubectl edit
,kubectl
aplicará los cambios automáticamente. Si edita el archivo YAML, aplíquelo a su servicio de administración con el siguiente comando:env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
A continuación, el servicio de administración actualiza su AWSCluster.
Grupo de nodos de AWS
Para actualizar un AWSNodePool, realice los siguientes pasos:
Desde su directorio
anthos-aws
, useanthos-gke
para cambiar el contexto a su servicio de administración.cd anthos-aws anthos-gke aws management get-credentials
Abra el archivo YAML que creó su AWSNodePool en un editor de texto. Si siguió las instrucciones de "Creación de un clúster de usuarios" , este archivo se llama
cluster-0.yaml
.Actualice el valor de
spec.version
en sus 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 ...
Reemplace gke-version con la versión de Kubernetes que desee. La versión de Kubernetes compatible más reciente es 1.25.5-gke.2100.
Aplique la nueva configuración a su servicio de administración con
kubectl
.env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
El servicio de administración actualiza su AWSNodePool nodo por nodo. Antes de que un nodo se apague, los pods que se ejecutan en él reciben un SIGTERM . Si un pod no se apaga después de un período de gracia, recibe un SIGKILL.
Ver estado
Para obtener el estado de una actualización, ejecute kubectl get AWSClusters
en su servicio de administración.
env HTTPS_PROXY=http://localhost:8118 \
kubectl get AWSClusters
La salida incluye el nombre, el estado, la antigüedad, la versión y el punto final de cada clúster. Por ejemplo, la siguiente salida incluye un AWSCluster
llamado cluster-0
.
NAME STATE AGE VERSION ENDPOINT
cluster-0 Upgrading 2m41s 1.25.5-gke.2100 gke-xyz.elb.us-east-1.amazonaws.com
La actualización de su clúster de usuarios estará completa cuando el ESTADO de sus clústeres sea Aprovisionado .