Actualiza Migrate to Containers y los complementos

En este documento, se describe cómo actualizar la instalación actual de Migrate to Containers a la versión 1.15.0 y los complementos de Migrate to Containers a la versión más reciente.

Por lo general, debes borrar todas las migraciones existentes antes de realizar la actualización. Si se están ejecutando migraciones, espera a que se completen y, luego, bórralas. Sin embargo, no borres las fuentes de migración. Las fuentes de migración se actualizan como parte del proceso de migración.

Usa migctl para realizar la actualización

El proceso de actualización que uses se basa en el entorno en el que ejecutas migctl:

  • Cuando se usan clústeres de procesamiento de Google Kubernetes Engine (GKE) o GKE Enterprise en Google Cloud, ejecutas migctl en Cloud Shell.

    En Cloud Shell, se instala de forma automática la versión más reciente de migctl. Solo tienes que actualizar tus clústeres de procesamiento.

  • Cuando usas un clúster de procesamiento de Google Distributed Cloud Virtual para Bare Metal, instala migctl en tu estación de trabajo de administrador.

    Primero, debes descargar e instalar la versión más reciente de migctl en tu estación de trabajo de administrador local y, luego, usarla para actualizar tus clústeres de procesamiento.

Actualiza Migrate to Containers

Para actualizar una versión anterior de Migrate to Containers a la versión 1.15.0, haz lo siguiente:

  1. Conéctate a tu clúster de procesamiento:

    Migctl en Google Cloud

    1. Visita el menú de GKE en la consola de Google Cloud.

      Visita el menú de GKE.

    2. En la lista de clústeres, ubica el que estás usando como clúster de procesamiento y haz clic en el botón Conectar.

    3. En el diálogo Conéctate al clúster, en Acceso a la línea de comandos, haz clic en Ejecutar en Cloud Shell para ejecutar el comando de conexión en Cloud Shell.

      gcloud container clusters get-credentials cluster-name --zone zone-name --project project-name
      

    migctl en Google Distributed Cloud Virtual para Bare Metal

    1. Conéctate a tu clúster. Para obtener más información, consulta Administra clústeres desde la consola de Google Cloud.
  2. Verifica las migraciones existentes y bórralas:

    1. Enumera las migraciones actuales:

      migctl migration list
      
      NAME                STATUS      CURRENT-OPERATION
      my-migration        Completed   GenerateArtifacts
      another-migration   Running     GenerateMigrationPlan
    2. Borra todas las migraciones completadas, una por una, con el siguiente comando:

      migctl migration delete my-migration
    3. Para cualquier migración que se esté ejecutando, repite el "Paso a" y espera a que se complete. Luego, bórrala.

  3. Usa el comando migctl version para determinar tu versión actual. Por ejemplo:

    migctl version

    Se muestra lo siguiente:

    Migrate to Containers version: 1.10.1
  4. Actualiza el clúster:

    Migctl en Google Cloud

    1. Actualiza a 1.15.0:

      1. En Cloud Shell, ejecuta el siguiente comando:

        migctl setup upgrade

        El comando anterior realiza lo siguiente:

        • Desinstala la versión anterior de Migrate to Containers y, luego, instala la versión 1.15.0.

        • Actualiza las fuentes de migración existentes a la versión 1.15.0.

    migctl en Google Distributed Cloud Virtual para Bare Metal

    1. Implementa migctl en tu estación de trabajo de administrador:

      wget https://modernize-release.storage.googleapis.com/v1.15.0/linux/amd64/migctl
      sudo cp migctl /usr/local/bin/
      sudo chmod +x /usr/local/bin/migctl
      . <(migctl completion bash)
    2. Actualiza a 1.15.0:

      1. Ejecuta la actualización:

        migctl setup upgrade --gkeop

        El comando anterior realiza lo siguiente:

        • Desinstala la versión anterior de Migrate to Containers y, luego, instala la versión 1.15.0.

        • Actualiza las fuentes de migración existentes a la versión 1.15.0.

  5. Para validar la actualización, ejecuta el comando migctl doctor.

    Antes de que se complete la actualización, es posible que veas un mensaje como el siguiente. Si es así, espera unos minutos para que finalice la actualización antes de volver a ejecutar migctl doctor.

    migctl doctor
    [✓] Deployment
      [✓] Admission Controller
      [!] Components
        Job controllers-deploy-cert is not ready
        Job controllers-upgrade is not ready
    

    En el siguiente resultado de ejemplo, la marca de verificación indica que Migrate to Containers se actualizó de forma correcta.

    migctl doctor
    [✓] Deployment
    [✓] Docker registry
    [✓] Artifacts repo
    [✓] Source Status
    

    Si estás actualizando a la versión 1.6 o posterior, migctl doctor ahora muestra los campos Docker registry, Artifacts repo y Source Status, donde:

  6. Una vez completada la actualización, debes volver a crear las migraciones para validar que las fuentes de migración se hayan actualizado de forma correcta. Consulta Crea una migración.

Actualiza los complementos de Migrate to Containers

Migrate to Containers usa complementos para administrar la lógica de modernización en diferentes recorridos de las cargas de trabajo compatibles. Para usar las funciones disponibles en la versión más reciente de los complementos, debes actualizar los complementos y, luego, crear una migración nueva. La actualización de los complementos no afecta las migraciones en curso.

Para actualizar los complementos a la última versión, ejecuta el siguiente comando:

JOB_NAME=plugins-updater-NAME
kubectl apply -f - <<EOF
apiVersion: batch/v1
kind: Job
metadata:
  name: $JOB_NAME
  namespace: v2k-system
spec:
  backoffLimit: 20
  template:
    spec:
      serviceAccountName: plugins-updater-sa
      containers:
      - name: plugins-updater
        image: us-docker.pkg.dev/migrate-modernize-public/modernize-plugins-prod/plugins-updater:latest
        imagePullPolicy: Always
      restartPolicy: OnFailure
EOF

Reemplaza NAME por una string para agregar al nombre del trabajo.

Para ver el estado de la actualización, ejecuta el siguiente comando:

kubectl get job -n v2k-system  plugins-updater-NAME

Reemplaza NAME por la misma string que agregaste al nombre del trabajo.

El resultado muestra el estado del trabajo, como se muestra a continuación:

NAME                                COMPLETIONS   DURATION   AGE
plugins-updater-upgrade             1/1           12s        37s

Si ves 1/1 en la columna Finalizaciones, significa que el trabajo está completo y que los complementos se actualizan.

Una vez que se complete la actualización, ejecuta el siguiente comando para borrar el trabajo:

kubectl delete  job -n v2k-system  plugins-updater-NAME

Reemplaza NAME por la misma string que agregaste al nombre del trabajo.

¿Qué sigue?