Migrar recursos a los operadores más recientes - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Migrar recursos a los operadores más recientes

Vamos a detener el desarrollo y el soporte técnico de la versión original de SageMaker Operators for Kubernetes.

Si actualmente utilizas la versión v1.2.2 o anterior de SageMaker Operators for Kubernetes, te recomendamos migrar tus recursos al ACKcontrolador de servicios de Amazon. SageMaker El controlador ACK de servicios es una nueva generación de SageMaker operadores para Kubernetes basada en Controllers for Kubernetes ().AWS ACK

Para obtener respuestas a las preguntas frecuentes sobre la finalización del soporte de la versión original de Operators for Kubernetes, consulte SageMaker Anunciamos el fin del soporte de la versión original de SageMaker Operators for Kubernetes

Siga los siguientes pasos para migrar sus recursos y ACK utilícelos para entrenar, ajustar e implementar modelos de aprendizaje automático con Amazon SageMaker.

nota

Los SageMaker operadores más recientes para Kubernetes no son compatibles con versiones anteriores.

Requisitos previos

Para migrar correctamente los recursos a los SageMaker operadores más recientes para Kubernetes, debes hacer lo siguiente:

  1. Instale los SageMaker operadores más recientes para Kubernetes. Consulte Configuración en Machine Learning with the ACK SageMaker Controller para step-by-step obtener instrucciones.

  2. Si utiliza HostingAutoscalingPolicyrecursos, instale el nuevo operador de escalado automático de aplicaciones. Consulte Configuración en Scale SageMaker Workloads with Application Auto Scaling para obtener step-by-step instrucciones. Este paso es opcional si no utiliza HostingAutoScalingPolicy recursos.

Si los permisos están configurados correctamente, el controlador de ACK SageMaker servicio puede determinar la especificación y el estado del AWS recurso y conciliar el recurso como si el ACK controlador lo hubiera creado originalmente.

Adoptar recursos

Los nuevos SageMaker operadores de Kubernetes permiten adoptar recursos que no fueron creados originalmente por el controlador de servicios. ACK Para obtener más información, consulte Adoptar los AWS recursos existentes en la documentación. ACK

Los siguientes pasos muestran cómo los nuevos SageMaker operadores de Kubernetes pueden adoptar un punto final existente. SageMaker Guarde el siguiente ejemplo como un archivo llamado adopt-endpoint-sample.yaml.

apiVersion: services.k8s.aws/v1alpha1 kind: AdoptedResource metadata: name: adopt-endpoint-sample spec: aws: # resource to adopt, not created by ACK nameOrID: xgboost-endpoint kubernetes: group: sagemaker.services.k8s.aws kind: Endpoint metadata: # target K8s CR name name: xgboost-endpoint

Envíe el recurso personalizado (CR) mediante kubectl apply:

kubectl apply -f adopt-endpoint-sample.yaml

Use kubectl describe para comprobar las condiciones de estado del recurso adoptado.

kubectl describe adoptedresource adopt-endpoint-sample

Compruebe que la condición ACK.Adopted sea True. La salida debería tener un aspecto similar al siguiente ejemplo:

--- kind: AdoptedResource metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: '{"apiVersion":"services.k8s.aws/v1alpha1","kind":"AdoptedResource","metadata":{"annotations":{},"name":"xgboost-endpoint","namespace":"default"},"spec":{"aws":{"nameOrID":"xgboost-endpoint"},"kubernetes":{"group":"sagemaker.services.k8s.aws","kind":"Endpoint","metadata":{"name":"xgboost-endpoint"}}}}' creationTimestamp: '2021-04-27T02:49:14Z' finalizers: - finalizers.services.k8s.aws/AdoptedResource generation: 1 name: adopt-endpoint-sample namespace: default resourceVersion: '12669876' selfLink: "/apis/services.k8s.aws/v1alpha1/namespaces/default/adoptedresources/adopt-endpoint-sample" uid: 35f8fa92-29dd-4040-9d0d-0b07bbd7ca0b spec: aws: nameOrID: xgboost-endpoint kubernetes: group: sagemaker.services.k8s.aws kind: Endpoint metadata: name: xgboost-endpoint status: conditions: - status: 'True' type: ACK.Adopted

Compruebe que el recurso existe en el clúster:

kubectl describe endpoints.sagemaker xgboost-endpoint

HostingAutoscalingPolicyrecursos

El recurso HostingAutoscalingPolicy (HAP) consta de varios recursos de Application Auto Scaling: ScalableTarget yScalingPolicy. Al adoptar un HAP recurso conACK, instale primero el controlador Application Auto Scaling. Para adoptar HAP recursos, debe adoptar ambos ScalableTarget ScalingPolicy recursos. Encontrará el identificador de recursos de estos recursos en el estado del recurso HostingAutoscalingPolicy (status.ResourceIDList).

HostingDeployment recursos

El HostingDeployment recurso consta de varios SageMaker recursos: EndpointEndpointConfig, y cada uno de ellosModel. Si adopta un SageMaker punto final enACK, debe adoptar el EndpointEndpointConfig, y cada uno Model por separado. Los nombres de Endpoint, EndpointConfig y Model se encuentran en el estado del recurso HostingDeployment (status.endpointName, status.endpointConfigName y status.modelNames).

Para obtener una lista de todos SageMaker los recursos compatibles, consulte la ACKAPIReferencia.

Borrar los recursos antiguos

Una vez que los nuevos SageMaker operadores de Kubernetes adopten tus recursos, podrás desinstalar los operadores antiguos y limpiar los recursos antiguos.

Paso 1: Desinstalar el operador antiguo

Para desinstalar el operador anterior, consulte Eliminación de operadores.

aviso

Desinstale el operador antiguo antes de eliminar cualquier recurso antiguo.

Paso 2: Eliminar los finalizadores y eliminar los recursos antiguos

aviso

Antes de eliminar los recursos antiguos, asegúrese de haber desinstalado el operador antiguo.

Tras desinstalar el operador antiguo, debe eliminar de forma explícita los finalizadores para eliminar los recursos del operador antiguo. El siguiente script de ejemplo muestra cómo eliminar todos los trabajos de entrenamiento administrados por el operador antiguo en un espacio de nombres determinado. Puede utilizar un patrón similar para eliminar recursos adicionales una vez que los adopte el nuevo operador.

nota

Debe utilizar los nombres completos de los recursos para obtenerlos. Por ejemplo, utilice kubectl get trainingjobs.sagemaker.aws.amazon.com en lugar de kubectl get trainingjob.

namespace=sagemaker_namespace training_jobs=$(kubectl get trainingjobs.sagemaker.aws.amazon.com -n $namespace -ojson | jq -r '.items | .[] | .metadata.name') for job in $training_jobs do echo "Deleting $job resource in $namespace namespace" kubectl patch trainingjobs.sagemaker.aws.amazon.com $job -n $namespace -p '{"metadata":{"finalizers":null}}' --type=merge kubectl delete trainingjobs.sagemaker.aws.amazon.com $job -n $namespace done

Usa los nuevos SageMaker operadores para Kubernetes

Para obtener guías detalladas sobre el uso de los nuevos SageMaker operadores para Kubernetes, consulte Usa operadores para Kubernetes SageMaker