Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Las características en versión preliminar de AKS están disponibles en régimen de autoservicio y mediante adhesión voluntaria. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y la garantía limitada. Las versiones preliminares de AKS cuentan con soporte parcial por parte del servicio al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para su uso en producción. Para más información, consulte los siguientes artículos de soporte:
La extensión KubeRay administrada para Azure Kubernetes Service (AKS) está en versión preliminar. Instala y administra el operador KubeRay y las definiciones de recursos personalizados (CRD) de Ray en el clúster: RayCluster, RayJob, RayCronJoby RayService.
En este artículo se muestra cómo instalar, comprobar, actualizar y quitar la extensión mediante el CLI de Azure. Gestionas tus cargas de trabajo de Ray y sus imágenes en tiempo de ejecución por separado.
Prerequisites
- Una suscripción Azure y un clúster de AKS que ejecuta Kubernetes 1.34 o posterior y usa la identidad administrada en una región de nube pública compatible con AKS Azure. Si no tiene un clúster, consulte Creación de un clúster de AKS mediante el CLI de Azure.
- Una versión actual del CLI de Azure.
- La extensión de CLI de Azure debe ser la versión 1.8.0 o posterior.
- kubectl compatible con la versión de Kubernetes del clúster.
- Permisos para registrar Azure proveedores de recursos, administrar extensiones de clúster, recuperar credenciales de clúster e inspeccionar los recursos de Kubernetes.
Limitations
-
Instalaciones de KubeRay de software de código abierto (OSS) existentes:desinstale cualquier operador KubeRay autohospedado existente antes de instalar la extensión KubeRay administrada (
microsoft.kuberay). Una instalación rechazada todavía puede cambiar los esquemas y la propiedad CRD de Ray, y eliminar la extensión con errores no deshace esos cambios. Conserve los CRDs y los recursos de cargas de trabajo. Si una instalación ya ha fallado, siga las instrucciones de recuperación antes de reintentar.
Preparación del entorno
En los ejemplos siguientes se usa Bash. Establezca la suscripción y los detalles del clúster existentes y, a continuación, inicie sesión:
SUBSCRIPTION_ID="<subscription-id>"
RESOURCE_GROUP="<existing-resource-group>"
CLUSTER_NAME="<existing-aks-cluster>"
EXTENSION_NAME="kuberay"
RELEASE_TRAIN="preview"
az login
az account set --subscription "$SUBSCRIPTION_ID"
Compruebe la versión de Kubernetes del clúster. Confirme que la versión devuelta es 1.34 o posterior antes de continuar:
az aks show \
--resource-group "$RESOURCE_GROUP" \
--name "$CLUSTER_NAME" \
--query kubernetesVersion \
--output tsv
Conéctese al clúster:
az aks get-credentials \
--resource-group "$RESOURCE_GROUP" \
--name "$CLUSTER_NAME"
Instale o actualice la extensión de la CLI y registre los proveedores de recursos necesarios:
az extension add --name k8s-extension --upgrade
az provider register --namespace Microsoft.ContainerService --wait
az provider register --namespace Microsoft.KubernetesConfiguration --wait
Compruebe la versión de la extensión de la CLI instalada:
az extension show --name k8s-extension --query version --output tsv
La instalación de la extensión de la CLI proporciona comandos de administración; no instala KubeRay en el clúster.
Desinstalar un operador OSS KubeRay existente
Omita este paso si no tiene un operador alojado en su propia infraestructura. De lo contrario, realice una copia de seguridad de los datos y manifiestos de la carga de trabajo, suspenda las planificaciones de RayCronJob y espere a que finalicen los trabajos en ejecución antes de quitar el operador.
Para una instalación de Helm, busque el nombre del release y el espacio de nombres:
helm list --all-namespaces
Quite solo la release del operador y confirme que su despliegue ha desaparecido:
OSS_RELEASE_NAME="<existing-kuberay-release-name>"
OSS_RELEASE_NAMESPACE="<existing-kuberay-release-namespace>"
helm uninstall "$OSS_RELEASE_NAME" --namespace "$OSS_RELEASE_NAMESPACE"
kubectl get deployments --namespace "$OSS_RELEASE_NAMESPACE"
Compruebe que el espacio de nombres retenido muestre Active y que cada CRD *.ray.io retenido muestre True en la columna ESTABLISHED:
kubectl get namespace "$OSS_RELEASE_NAMESPACE"
kubectl get crds \
--output='custom-columns=NAME:.metadata.name,ESTABLISHED:.status.conditions[?(@.type=="Established")].status'
Si el espacio de nombres está en proceso de terminación o no se establece un CRD de Ray, resuelva el problema antes de habilitar la extensión.
Para otros métodos de instalación, use su procedimiento de eliminación del operador. Conservar los CRD de Ray y los recursos de workload; no elimine sus espacios de nombres ni CRD.
Instale la extensión KubeRay administrada
Enumere las versiones de extensión disponibles para el clúster y el tren de versiones preview:
az k8s-extension extension-types list-versions-by-cluster \
--resource-group "$RESOURCE_GROUP" \
--cluster-name "$CLUSTER_NAME" \
--cluster-type managedClusters \
--extension-type microsoft.kuberay \
--release-train "$RELEASE_TRAIN" \
--output table
Confirme que se devuelve una versión compatible. Si no se devuelve ninguno, consulte Solución de problemas de detección de versiones de extensión.
Cree la extensión con actualizaciones automáticas habilitadas. El comando usa los siguientes valores:
-
--extension-type microsoft.kuberayinstala la extensión KubeRay administrada. -
--scope clusterinstala la extensión para todo el clúster. -
--release-namespace kuberay-systemestablece el espacio de nombres para elkuberay-operatordespliegue. -
--release-train "$RELEASE_TRAIN"selecciona el canal de versionespreview. -
--auto-upgrade-minor-version truepermite las actualizaciones automáticas. No especifique--versioncon esta configuración.
az k8s-extension create \
--resource-group "$RESOURCE_GROUP" \
--cluster-name "$CLUSTER_NAME" \
--cluster-type managedClusters \
--name "$EXTENSION_NAME" \
--extension-type microsoft.kuberay \
--scope cluster \
--release-namespace kuberay-system \
--release-train "$RELEASE_TRAIN" \
--auto-upgrade-minor-version true
Verifica la instalación de la extensión
Inspeccione la versión instalada y el estado de aprovisionamiento:
az k8s-extension show \
--resource-group "$RESOURCE_GROUP" \
--cluster-name "$CLUSTER_NAME" \
--cluster-type managedClusters \
--name "$EXTENSION_NAME" \
--query "{name:name,version:currentVersion,provisioningState:provisioningState,extensionState:extensionState}" \
--output table
La instalación puede tardar hasta 15 minutos. Espere hasta que la salida del comando muestre los valores siguientes y compruebe que la implementación del operador está disponible y que los CRD de Ray están instalados:
-
provisioningStateesSucceeded. -
extensionStateesAvailableoReady.
kubectl wait \
--for=condition=Available \
deployment/kuberay-operator \
--namespace kuberay-system \
--timeout=5m
kubectl get crds \
rayclusters.ray.io \
raycronjobs.ray.io \
rayjobs.ray.io \
rayservices.ray.io \
--output name
Si se produce un error en las comprobaciones de aprovisionamiento o preparación, consulte Solución de problemas de la extensión de KubeRay administrada.
Actualice la extensión administrada de KubeRay
Utilice el comando az k8s-extension extension-types list-versions-by-cluster en Instalar la extensión KubeRay administrada para comprobar qué versiones están disponibles para su clúster.
En la misma sesión de shell, o después de redefinir RESOURCE_GROUP, CLUSTER_NAME, EXTENSION_NAMEy RELEASE_TRAIN como se describe en Preparar el entorno, habilite las actualizaciones automáticas para una extensión existente:
az k8s-extension update \
--resource-group "$RESOURCE_GROUP" \
--cluster-name "$CLUSTER_NAME" \
--cluster-type managedClusters \
--name "$EXTENSION_NAME" \
--release-train "$RELEASE_TRAIN" \
--auto-upgrade-minor-version true \
--yes
No especifique --version cuándo se habilitan las actualizaciones automáticas. Después de la actualización, repita los pasos de comprobación y confirme la versión instalada.
Desinstala la extensión KubeRay administrada
Antes de quitar la extensión de KubeRay administrada, asegúrese de que RESOURCE_GROUP, CLUSTER_NAME y EXTENSION_NAME todavía estén establecidos como se describe en Preparación del entorno. A continuación, revise los recursos de Ray existentes:
kubectl get rayclusters,raycronjobs,rayjobs,rayservices --all-namespaces
- Suspenda los trabajos programados, deje que los trabajos en ejecución finalicen y conserve los datos y manifiestos necesarios.
- Si desea eliminar cargas de trabajo de Ray, elimínelas mientras el operador sigue ejecutándose para que pueda completar la limpieza.
Quite la instancia de extensión:
az k8s-extension delete \
--resource-group "$RESOURCE_GROUP" \
--cluster-name "$CLUSTER_NAME" \
--cluster-type managedClusters \
--name "$EXTENSION_NAME" \
--yes
Importante
Al quitar la extensión, los CRD de Ray y las cargas de trabajo permanecen en su lugar, pero el operador ya no los administra. No elimine los CRD como atajo para la limpieza, ya que al hacerlo también se eliminan sus recursos personalizados.
Confirme que la kuberay extensión ya no aparece en la lista de extensiones y que se quita el kuberay-operator despliegue:
az k8s-extension list \
--resource-group "$RESOURCE_GROUP" \
--cluster-name "$CLUSTER_NAME" \
--cluster-type managedClusters \
--output table
kubectl get deployments --namespace kuberay-system