Skip to content

Commit 48b9660

Browse files
committed
Update README and deployment.yaml files
1 parent 221d77c commit 48b9660

3 files changed

Lines changed: 51 additions & 1 deletion

File tree

04-cloud/00-aks/00-mi-primer-aks/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,12 @@ Para probar el acceso a la web puedes hacerlo con este otro:
9191
echo http://${WEB_IP}
9292
```
9393

94+
Esta no está apuntando a la API correcta pero puedes modificar la variable de entorno `API_URL` para que apunte a la correcta:
95+
96+
```bash
97+
kubectl set env deployment/tour-of-heroes-web --namespace tour-of-heroes API_URL=http://${API_IP}/api/hero
98+
```
99+
94100
Como ves, no hay ningún héroe en la base de datos, pero puedes usar el archivo heroes.http que te he dejado como parte de esta unidad. Recuerda reemplazar la IP por la que te ha dado el servicio de la API.
95101

96102
Si después de lanzarlo vuelves a ejecutar el comando para recuperar los héroes, verás que ya tienes algunos en la base de datos. ¡Hurra 🎉!

04-cloud/00-aks/00-mi-primer-aks/manifests/backend/deployment.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,11 @@ spec:
2828
name: tour-of-heroes-api
2929
ports:
3030
- containerPort: 5000
31-
name: web
31+
name: web
32+
resources:
33+
limits:
34+
cpu: 100m
35+
memory: 128Mi
36+
requests:
37+
cpu: 100m
38+
memory: 128Mi
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Autoescalado de tu clúster en AKS
2+
3+
Lo bueno de estar en la nube es que añadir o eliminar recursos es muy sencillo. En este caso, vamos a ver cómo podemos escalar automáticamente nuestro clúster de AKS en función de la carga que tenga. Por carga se entiendo el número de pods que están corriendo en el clúster.
4+
5+
Como ya tienes un clúster funcionando vamos a actualizar el mismo para decirle hasta cuánto tiene que escalar, en el caso que necesite, y cuál es el mínimo de nodos que tiene que tener.
6+
7+
```bash
8+
az aks update \
9+
--resource-group $RESOURCE_GROUP \
10+
--name $AKS_NAME \
11+
--enable-cluster-autoscaler \
12+
--min-count 1 \
13+
--max-count 3
14+
```
15+
16+
Si recuerdas el comando de creación del clúster, le indicamos que tuviera un nodo. Ahora le estamos diciendo que como mínimo tiene que tener uno y como máximo tres. Esto quiere decir que si la carga del clúster es baja, se eliminarán nodos hasta que solo quede uno. Si la carga es alta, se añadirán nodos hasta que haya tres.
17+
18+
Para comprobar que todo está funcionando correctamente, puedes ejecutar este comando:
19+
20+
```bash
21+
kubectl get nodes -w
22+
```
23+
Por otro lado, en otro terminal, vamos a modificar el deployment de la API para que tenga 10 réplicas en lugar de 3, con el fin de que el clúster tenga que escalar.
24+
25+
```bash
26+
kubectl scale deployment tour-of-heroes-api -n tour-of-heroes --replicas=30
27+
kubectl get pods -n tour-of-heroes -l app=tour-of-heroes-api -w
28+
```
29+
Lo primero que te darás cuenta es que varios pods se quedan en estado `Pending`. Esto es porque el clúster no tiene suficientes nodos para poder desplegarlos. Si esperas un poco, verás que el número de nodos se ha incrementado y los pods que estaban en estado `Pending` ya están corriendo.
30+
31+
Si ahora modificas el deployment para que vuelva a tener 3 réplicas, verás que el número de nodos se reduce hasta el mínimo que le hemos indicado.
32+
33+
```bash
34+
kubectl scale deployment tour-of-heroes-api -n tour-of-heroes --replicas=3
35+
```
36+
37+
[En este enlace](https://learn.microsoft.com/es-es/azure/aks/cluster-autoscaler?tabs=azure-cli#cluster-autoscaler-profile-settings) puedes ver las diferentes opciones que puedes modificar relacionadas con el autoescalado.

0 commit comments

Comments
 (0)