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.
Azure Kubernetes Service (AKS) es un servicio de Kubernetes administrado que le permite implementar y administrar clústeres rápidamente. En este artículo, implementará un clúster de AKS que ejecuta contenedores de Windows Server mediante Azure Portal. También implementará una aplicación de ejemplo de ASP.NET en un contenedor de Windows Server en el clúster.
Nota:
Para empezar a aprovisionar rápidamente un clúster de AKS, en este artículo se incluyen los pasos para implementar un clúster con la configuración predeterminada solo con fines de evaluación. Antes de implementar un clúster listo para producción, se recomienda familiarizarse con nuestra arquitectura de referencia de línea de base para considerar cómo se alinea con sus requisitos empresariales.
Antes de empezar
En esta guía rápida se presupone un conocimiento básico de los conceptos de Kubernetes. Para más información, consulte Conceptos básicos de Kubernetes de Azure Kubernetes Service (AKS).
- Si no tiene una cuenta de Azure, cree una cuenta gratuita antes de comenzar.
- Si no está familiarizado con Azure Cloud Shell, consulte Introducción a Azure Cloud Shell.
- Asegúrese de que la identidad que usará para crear el clúster tenga los permisos mínimos adecuados. Para más información sobre el acceso y la identidad en AKS, consulte Opciones de acceso e identidad en Azure Kubernetes Service (AKS).
Nota:
- Windows Server 2019 se retira el 1 de marzo de 2026. Después de esa fecha, AKS ya no generará nuevas imágenes de nodo ni proporcionará revisiones de seguridad. Después de esa fecha, no podrá crear nuevos grupos de nodos con Windows Server 2019 en ninguna versión de Kubernetes. No se admitirán todos los grupos de nodos existentes con Windows Server 2019. Windows Server 2019 no se admite en la versión 1.33 de Kubernetes y posteriores. A partir del 1 de abril de 2027, AKS quitará todas las imágenes de nodo existentes para Windows Server 2019, lo que significa que se producirá un error en las operaciones de escalado.
- Windows Server 2022 se retira el 15 de marzo de 2027. Después de esa fecha, AKS ya no generará nuevas imágenes de nodo ni proporcionará revisiones de seguridad. Después de esa fecha, no podrá crear nuevos grupos de nodos con Windows Server 2022 en ninguna versión de Kubernetes. No se admitirán todos los grupos de nodos existentes con Windows Server 2022. Windows Server 2022 no se admite en la versión 1.36 y posteriores de Kubernetes. A partir del 1 de abril de 2028, AKS quitará todas las imágenes de nodo existentes para Windows Server 2022, lo que significa que se producirá un error en las operaciones de escalado.
Para más información, consulte las Notas de la versión de AKS. Para mantenerse al día en las versiones más recientes del sistema operativo Windows Server y obtener más información sobre nuestra hoja de ruta de lo que está planeado para el soporte técnico en AKS, vea nuestra hoja de ruta pública de AKS.
Creación de un clúster de AKS
Inicie sesión en Azure Portal.
En la página principal de Azure Portal, seleccione Crear un recurso.
En la sección Categorías, seleccione Contenedores>Azure Kubernetes Service (AKS).
En la pestaña Información básica, configure los siguientes valores:
- En Detalles del proyecto:
- Suscripción: seleccione la suscripción de Azure que quiere usar para este clúster de AKS.
- Grupo de recursos: seleccione Crear nuevo, escriba un nombre de grupo de recursos, como myResourceGroup, y seleccione Aceptar. Aunque puede seleccionar un grupo de recursos existente, con fines de prueba o evaluación, se recomienda crear un grupo de recursos para hospedar temporalmente estos recursos y evitar que afecte a las cargas de trabajo de producción o desarrollo.
- En Detalles del clúster:
Configuración preestablecida de clúster: seleccione Desarrollo/pruebas. Para obtener más información sobre las configuraciones preestablecidas, vea Valores preestablecidos de configuración de clúster en Azure Portal.
Nombre de clúster de Kubernetes: escriba un nombre de clúster, como myAKSCluster.
Región: seleccione una región, como Este de EE. UU. 2.
Zonas de disponibilidad: seleccione Ninguna.
Plan de tarifa de AKS: seleccione Gratis.
Deje los valores predeterminados para la configuración restante y seleccione Siguiente.
- En Detalles del proyecto:
En la pestaña Grupos de nodos, configure los siguientes valores:
Seleccione Agregar grupo de nodos y escriba un nombre de grupo de nodos, como npwin. Para un grupo de nodos de Windows, el nombre debe tener seis caracteres o menos.
Modo: seleccione Usuario.
SKU del sistema operativo: seleccione Windows 2022.
Zonas de disponibilidad: seleccione Ninguna.
Deje desactivada la casilla Habilitar instancias de Azure Spot.
Tamaño de nodo: seleccione Elegir un tamaño. En la página Seleccionar un tamaño de máquina virtual, seleccione D2s_v3 y, a continuación, seleccione Seleccionar.
Deje los valores predeterminados para la configuración restante y seleccione Agregar.
Seleccione Revisar y crear para ejecutar la validación en la configuración del clúster. Una vez completada la validación, seleccione Crear.
El clúster de AKS tarda unos minutos en crearse. Una vez completada la implementación, vaya al recurso seleccionando Ir al recurso o vaya al grupo de recursos del clúster de AKS y seleccione el recurso de AKS.
Conectarse al clúster
Para administrar un clúster de Kubernetes, usará kubectl, el cliente de línea de comandos de Kubernetes. Si usa Azure Cloud Shell, kubectl ya está instalado. Si no está familiarizado con Cloud Shell, consulte Introducción a Azure Cloud Shell.
Abra Cloud Shell seleccionando el botón
>_situado en la parte superior de la página Azure Portal.Para configurar
kubectlpara conectarse a su clúster de Kubernetes, use el comandoaz aks get-credentials. El siguiente comando descarga las credenciales y configura la CLI de Kubernetes para usarlas.az aks get-credentials --resource-group myResourceGroup --name myAKSClusterCompruebe la conexión al clúster usando el comando
kubectl get nodes, que devuelve una lista de los nodos del clúster.kubectl get nodesEn la siguiente salida de ejemplo se muestran todos los nodos del clúster. Asegúrese de que el estado de todos los nodos sea Listo:
NAME STATUS ROLES AGE VERSION aks-agentpool-11741175-vmss000000 Ready agent 8m17s v1.29.9 aks-agentpool-11741175-vmss000001 Ready agent 8m17s v1.29.9 aksnpwin000000 Ready agent 8m17s v1.29.9 aks-userpool-11741175-vmss000000 Ready agent 8m17s v1.29.9 aks-userpool-11741175-vmss000001 Ready agent 8m17s v1.29.9
Implementación de la aplicación
Un archivo de manifiesto de Kubernetes define un estado deseado del clúster, por ejemplo, qué imágenes de contenedor se van a ejecutar. En este inicio rápido, usará un archivo de manifiesto para crear todos los objetos necesarios para ejecutar la aplicación de ejemplo de ASP.NET en un contenedor de Windows Server. Este archivo de manifiesto incluye una implementación de Kubernetes para la aplicación de ejemplo de ASP.NET y un servicio de Kubernetes externo para acceder a la aplicación desde Internet.
La aplicación de ejemplo de ASP.NET se proporciona como parte de los ejemplos de .NET Framework y se ejecuta en un contenedor de Windows Server. El archivo de manifiesto de Kubernetes debe definir un selector de nodos que le indique al clúster de AKS que ejecute el pod de la aplicación de ejemplo de ASP.NET en un nodo que pueda ejecutar contenedores de Windows Server.
Cree un archivo denominado
sample.yamly péguelo en la siguiente definición de código YAML.apiVersion: apps/v1 kind: Deployment metadata: name: sample labels: app: sample spec: replicas: 1 template: metadata: name: sample labels: app: sample spec: nodeSelector: "kubernetes.io/os": windows containers: - name: sample image: mcr.microsoft.com/dotnet/framework/samples:aspnetapp resources: limits: cpu: 1 memory: 800M ports: - containerPort: 80 selector: matchLabels: app: sample --- apiVersion: v1 kind: Service metadata: name: sample spec: type: LoadBalancer ports: - protocol: TCP port: 80 selector: app: samplePara obtener un desglose de los archivos de manifiesto de YAML, consulte Implementaciones y manifiestos de YAML.
Si crea y guarda el archivo YAML localmente, para cargar el archivo de manifiesto en el directorio predeterminado de CloudShell, seleccione el botón Cargar y descargar archivos y elija el archivo en el sistema de archivos local.
Implemente la aplicación mediante el comando
kubectl applyy especifique el nombre del manifiesto de YAML.kubectl apply -f sample.yamlEn la salida de ejemplo siguiente se muestran la implementación y el servicio que se crearon correctamente:
deployment.apps/sample created service/sample created
Prueba de la aplicación
Cuando se ejecuta la aplicación, un servicio de Kubernetes expone el front-end de la aplicación a Internet. Este proceso puede tardar unos minutos en completarse. En ocasiones, el servicio puede tardar más de unos minutos en aprovisionarse. Espere hasta 10 minutos para que se produzca el aprovisionamiento.
Compruebe el estado de los pods implementados con el comando
kubectl get pods. Haga que todos los pods tengan el estadoRunningantes de continuar.kubectl get podsPara supervisar el progreso, utilice el comando
kubectl get servicecon el argumento--watch.kubectl get service sample --watchInicialmente, la salida muestra el parámetro EXTERNAL-IP del servicio de ejemplo como pendiente:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE sample LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6sCuando la dirección EXTERNAL-IP cambie de pendiente a una dirección IP pública real, use
CTRL-Cpara detener el proceso de inspección dekubectl.Para ver la aplicación de ejemplo en acción, abra un explorador web en la dirección IP externa del servicio.
Eliminar recursos
Si no planea realizar el tutorial de AKS, debe eliminar el clúster para evitar incurrir en cargos de Azure.
En Azure Portal, vaya a su grupo de recursos.
Seleccione Eliminar grupo de recursos.
Escriba el nombre del grupo de recursos para confirmar la eliminación y seleccione Eliminar.
En el cuadro de diálogo Confirmación de eliminación, seleccione Eliminar.
Nota:
El clúster de AKS se ha creado con una identidad administrada asignada por el sistema (la opción de identidad predeterminada usada en este inicio rápido), la identidad se administra por la plataforma y no es necesaria su eliminación.
Pasos siguientes
En este inicio rápido, ha implementado un clúster de Kubernetes y, después, una aplicación de ejemplo de ASP.NET en un contenedor de Windows Server de este. Esta aplicación de ejemplo es solo para fines de demostración y no representa todos los procedimientos recomendados para las aplicaciones de Kubernetes. Para instrucciones sobre cómo crear soluciones completas con AKS para producción, consulte Guía de soluciones de AKS.
Para más información sobre AKS y obtener un ejemplo completo desde el código hasta la implementación, continúe con el tutorial del clúster de Kubernetes.