Skip to content

feat: improve cluster and nodepool doc#119

Merged
lautaro-suarez merged 4 commits intodevelopfrom
feat/SLEAK-3008_mejorar-documentacion-cluster
Sep 17, 2025
Merged

feat: improve cluster and nodepool doc#119
lautaro-suarez merged 4 commits intodevelopfrom
feat/SLEAK-3008_mejorar-documentacion-cluster

Conversation

@lautaro-suarez
Copy link
Copy Markdown
Contributor

@lautaro-suarez lautaro-suarez commented Sep 12, 2025

Summary by CodeRabbit

  • Documentación
    • Nueva guía "Tipos de Instancias y Manejo de Nodos" (Spot, On‑Demand, Reserved), FAQs desplegables y ejemplos de uso.
    • Ampliada la guía de Node Pools: selección múltiple de instancias, nuevo "Tipo de Nodo" con orden de prioridad Reserved → Spot → On‑Demand, límites y mínimos por nodo, y pasos de conversión entre tipos.
    • Actualizada la sección de clúster: bloque de ayuda para elegir instancias, etiqueta "Configuración de Alta Disponibilidad (HA)" y diseño de panel izquierdo refluido con imagen.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Sep 12, 2025

Walkthrough

Se amplían y reestructuran las docs de Cluster y Node Pools: se añade guía de tipos de instancias, la celda “Producción” pasa a “High-Availability (HA) Configuration”, el formulario de creación de Node Pools admite multi‑selección y prioridad de tipos (Reserved → Spot → On‑Demand), y se añaden páginas i18n en español.

Changes

Cohort / File(s) Summary of changes
Cluster índice y layout
docs/cluster/index.mdx, i18n/es/docusaurus-plugin-content-docs/current/cluster/index.mdx
Añade detalle “How do I choose the right instance types…/¿Cómo elegir...?”, renombra y amplía la fila “Producción” a “High-Availability (HA) Configuration”, normaliza apóstrofes y reestructura el panel izquierdo en un contenedor flex con imagen y párrafos ajustados.
Node Pools — creación
docs/cluster/nodepools/creating-nodepool.mdx, i18n/es/docusaurus-plugin-content-docs/current/cluster/nodepools/creating-nodepool.mdx
Formulario reformulado: Instance Type pasa a multi‑selección; nuevo Node Type (Reserved, Spot, On‑Demand) con prioridad definida; Max Memory/CPU renombrados a Memory/CPU Limit; añade (Per Node) Minimum Memory y (Per Node) Minimum CPU; orden y textos ajustados.
Node Pools — index / FAQ
docs/cluster/nodepools/index.mdx, i18n/es/docusaurus-plugin-content-docs/current/cluster/nodepools/index.mdx
Introduce Reserved como tipo de nodo (1–3 años, ahorro hasta ~75%); reordena FAQ y define “Orden de Prioridad: Reserved → Spot → On‑Demand”; corrige typo “Updade”→“Update”; reorganiza contenido de Spot y On‑Demand y añade guías de conversión entre tipos y arquitecturas.
Nueva guía de Instance Types
docs/cluster/nodepools/instance-types.mdx, i18n/es/docusaurus-plugin-content-docs/current/cluster/nodepools/instance-types.mdx
Nuevo documento MDX “Instance Types and Node Management” (importa Zoom y un icono externo) que describe Spot/On‑Demand/Reserved, FAQs desplegables, guía de dimensionado y ejemplos prácticos; incluye versiones en español.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    participant User
    participant UI as Docs / Console
    participant Autoscaler
    participant Cloud as Cloud Provider

    Note over UI: Nueva guía y opciones de Node Pool\n(instanceTypes[], nodeTypePriority)
    User->>UI: Configura Node Pool (instanceTypes[], nodeTypePriority)
    User->>Autoscaler: Solicita creación/escalado
    Autoscaler->>Cloud: Pide nodo prefiriendo Reserved
    alt Reserved disponible
        Cloud-->>Autoscaler: Provisiona nodo Reserved
    else Reserved no disponible
        Autoscaler->>Cloud: Intenta Spot
        alt Spot disponible
            Cloud-->>Autoscaler: Provisiona nodo Spot
        else
            Autoscaler->>Cloud: Recurre a On‑Demand
            Cloud-->>Autoscaler: Provisiona nodo On‑Demand
        end
    end
    Autoscaler-->>User: Node pool escalado/actualizado
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

En SleakOps la doc se pule con maña,
Reserved al frente, Spot gira con caña.
On‑Demand vigila, listo como piña,
HA asegura nodos en cada esquina.
en sleakops arreglamos los conflictos a las piñas 🍍✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed El título "feat: improve cluster and nodepool doc" es breve y refleja correctamente el cambio principal del PR —mejoras en la documentación de clúster y nodepools— por lo que está relacionado con el changeset y es fácil de entender, aunque usa la abreviatura "doc" en inglés que podría ser menos explícita.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/SLEAK-3008_mejorar-documentacion-cluster

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (12)
docs/cluster/nodepools/index.mdx (6)

34-37: Aclarar qué significa “Reserved” (RI/Savings Plans) y ajustar redacción.

Para evitar confusión con conceptos de Kubernetes, especifiquemos que “Reserved” refiere al modelo de facturación del proveedor (p. ej., EC2 Reserved Instances o Savings Plans) y pulamos el texto.

Propuesta:

-**Reserved:** are instances that you commit to using for a specific term (1 or 3 years) in exchange for significant cost savings (up to 75% less than On-Demand pricing). They provide the best price with commitment and are ideal for:
+**Reserved:** instances acquired con compromiso de uso por un término fijo (1 o 3 años), p. ej., EC2 Reserved Instances o Savings Plans, que ofrecen ahorros significativos (hasta ~75% vs. **On‑Demand**). Proporcionan el mejor precio con compromiso y son ideales para:

39-42: Añadir nota de interrupciones y buenas prácticas para Spot.

Sugiero incluir una viñeta sobre manejo de preempciones (PDBs, tolerations/node selectors, budgets).

Propuesta (añadir última viñeta):

   - **Cost-Sensitive Workloads:** Ideal for tasks where cost savings are a priority over availability.
+  - **Interruptions Ready:** Diseña para interrupciones (usando PodDisruptionBudgets, tolerations/taints y estrategias de reintentos) y contempla el manejo de eviction notices.

43-47: Consistencia terminológica “On‑Demand” vs “On Demand” entre archivos.

Aquí usamos “On‑Demand”, mientras en creating-nodepool.mdx aparece “On Demand”. Unifiquemos a “On‑Demand”.

Aplicar en el otro archivo (ver mi comentario allí).


63-66: Ortografía y claridad en el flujo de conversión (Spot ⇄ On‑Demand).

Corregir “Updade” y “not longer”.

-2. Updade your workloads and projects to run into the new Node Pool. 
-3. Delete the old node pool if it is not longer needed.
+2. Update your workloads and projects to run in the new Node Pool.
+3. Delete the old node pool if it is no longer needed.

70-73: “architect type” → “architecture type”.

Ajuste menor de terminología.

-You can't change the architect type of a node pool, but you can achieve the desired outcome through a series of steps in SleakOps. Here’s how you can transition between node pools architectures:
+You can't change the architecture type of a node pool, but you can achieve the desired outcome through a series of steps in SleakOps. Here’s how you can transition between node pool architectures:

88-91: Título con doble artículo.

Eliminar “my” o “a”.

-### How do I manage my  a Node Pool?
+### How do I manage a Node Pool?
docs/cluster/nodepools/creating-nodepool.mdx (4)

37-37: Unificar a “On‑Demand”.

Ajuste de estilo para consistencia con index.mdx.

-| **Node Type** | Select one or more billing models for your instances. You can choose multiple options, and the system will prioritize them in the following order: **Reserved** (best price with commitment) → **Spot** (best price without commitment) → **On Demand** (highest price but most flexible). See [**What are the different kind of node pools?**](/cluster/nodepools) |
+| **Node Type** | Select one or more billing models for your instances. You can choose multiple options, and the system will prioritize them in the following order: **Reserved** (best price with commitment) → **Spot** (best price without commitment) → **On‑Demand** (highest price but most flexible). See [**What are the different kind of node pools?**](/cluster/nodepools) |

38-38: Gramática y claridad en “Architecture Type”.

“Able of creating” → “able to create”.

-| **Architecture Type** | Select the architecture type to be used during the creation for your instances: (64-Bit) ARM or (64-Bit) X86, based on your performance and compatibility needs. Then you'll be able of creating new instances using a different architecture.  |
+| **Architecture Type** | Select the architecture type to be used during the creation for your instances: (64‑Bit) ARM or (64‑Bit) X86, based on your performance and compatibility needs. Then you'll be able to create new instances using a different architecture.  |

39-40: “Memory/CPU Limit” parecen límites a nivel clúster; debería decir “de este Node Pool”.

Para evitar confusión con la capacidad total del clúster, acotemos el alcance al Node Pool.

-| **Memory Limit**  | This sets the maximum memory the cluster can use as services scale. The autoscaler provisions instances based on demand, but this doesn't mean the cluster always uses the maximum memory; it just defines the upper limit for the autoscaler. |
-| **CPU Limit** | This sets the maximum CPU the cluster can use as services scale. The autoscaler provisions instances based on demand, but this doesn't mean the cluster always uses the maximum CPU; it just defines the upper limit for the autoscaler. |
+| **Memory Limit**  | Sets the maximum memory this Node Pool can use as services scale. The autoscaler provisions instances based on demand; this is the upper bound considered for this pool. |
+| **CPU Limit** | Sets the maximum CPU this Node Pool can use as services scale. The autoscaler provisions instances based on demand; this is the upper bound considered for this pool. |

Además, confirmar que la UI realmente aplica el límite por pool y no global.


41-41: Preposición: “in 20GB” → “to 20GB”.

-| **Storage** | Set by default in 20GB, you can modify it based on your need.  |
+| **Storage** | Set by default to 20GB; you can modify it based on your needs.  |
docs/cluster/index.mdx (2)

101-104: Pulir redacción y espacios dobles en el panel izquierdo.

-    <p>On the left pane, you will see a selector with the account names, select the one you'll use based on how you  decide to manage your clusters and environments.</p>
+    <p>On the left pane, you will see a selector with the account names. Select the one you'll use based on how you decide to manage your clusters and environments.</p>

88-88: Apostrofe faltante: “Lets” → “Let's”.

Micro‑arreglo editorial.

-## Lets create your first Cluster on SleakOps
+## Let's create your first Cluster on SleakOps
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between af79412 and 6432b1d.

📒 Files selected for processing (3)
  • docs/cluster/index.mdx (2 hunks)
  • docs/cluster/nodepools/creating-nodepool.mdx (1 hunks)
  • docs/cluster/nodepools/index.mdx (2 hunks)
🔇 Additional comments (5)
docs/cluster/nodepools/index.mdx (1)

47-47: Verificar que la prioridad automática (Reserved → Spot → On‑Demand) refleje el comportamiento real del producto.

Si el usuario puede alterar el orden, documentarlo; si es fijo, confirmarlo en UI/API.

¿Podéis confirmar que Karpenter/SleakOps aplican exactamente este orden cuando se seleccionan múltiples tipos?

docs/cluster/nodepools/creating-nodepool.mdx (3)

36-36: LGTM sobre “Instance Type” (multi‑select).

Buena explicación y ejemplo concreto.


45-45: LGTM sobre cierre del flujo.

Cierra bien el formulario y acción.


37-37: Verificar que la prioridad automática esté ya disponible en UI/API.

Antes de publicar, confirmar despliegue de la funcionalidad.

docs/cluster/index.mdx (1)

136-136: Evitar prometer “enhanced monitoring” y “automated backups” sin confirmar alcance.

Si estos beneficios dependen de features adicionales o planes, acláralo o limita el texto a multi‑AZ y resiliencia.

Propuesta conservadora:

-| Production | **High-Availability (HA) Configuration**: When enabled, this setting transforms your cluster into a production-ready environment by distributing the EKS cluster across multiple Availability Zones (AZs). This provides redundancy and fault tolerance, ensuring uninterrupted operations even if one AZ experiences issues. Production clusters also benefit from enhanced monitoring, automated backups, and optimized resource allocation for critical workloads. |
+| Production | **High‑Availability (HA) Configuration**: When enabled, this setting distributes the EKS cluster across multiple Availability Zones (AZs) to increase redundancy and fault tolerance (keeping operations running even if one AZ has issues). Recommended for production workloads. |

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (14)
i18n/es/docusaurus-plugin-content-docs/current/cluster/nodepools/index.mdx (1)

33-49: Reservas + orden de prioridad: bien planteado; unifiquemos la denominación de On‑Demand.

Contenido y orden OK (Reserved → Spot → On‑Demand). Para mantener consistencia con el resto de las páginas en ES, sugiero homogeneizar “On-Demand” como “On‑Demand” en todo el bloque.

Aquí un mini-diff para este bloque:

-    - **Tareas Críticas:** Aplicaciones que requieren tiempo de actividad constante, como bases de datos, sistemas financieros u otros servicios críticos.
+    - **Tareas Críticas:** Aplicaciones que requieren tiempo de actividad constante, como bases de datos, sistemas financieros u otros servicios críticos.
-    - **Tareas de Larga Duración:** Tareas que no pueden interrumpirse sin consecuencias significativas.
+    - **Tareas de Larga Duración:** Tareas que no pueden interrumpirse sin consecuencias significativas.

-**Orden de Prioridad:** Cuando seleccionas múltiples tipos de nodos, el sistema los priorizará automáticamente en el siguiente orden para optimizar costos: **Reserved** (mejor precio con compromiso) → **Spot** (mejor precio sin compromiso) → **On-Demand** (precio más alto pero más flexible).
+**Orden de Prioridad:** Cuando seleccionas múltiples tipos de nodos, el sistema los priorizará automáticamente en el siguiente orden para optimizar costos: **Reserved** (mejor precio con compromiso) → **Spot** (mejor precio sin compromiso) → **On‑Demand** (precio más alto pero más flexible).

-Para obtener orientación detallada sobre cómo elegir los tipos de instancias correctos y evaluar la compatibilidad de aplicaciones, consulta [Tipos de Instancias y Manejo de Nodos](/cluster/nodepools/instance-types).
+Para obtener orientación detallada sobre cómo elegir los tipos de instancias correctos y evaluar la compatibilidad de aplicaciones, consulta [Tipos de Instancias y Manejo de Nodos](/cluster/nodepools/instance-types).
docs/cluster/index.mdx (2)

54-60: Nueva FAQ de Instance Types: bien; mantengamos el orden estándar (Reserved → Spot → On‑Demand).

Para alinear con el resto de la doc y la prioridad definida, propongo reordenar la mención de tipos y pulir la redacción.

-Choosing the right instance types depends on your application requirements, cost optimization goals, and availability needs. SleakOps provides different node pools (Spot, On-Demand, Reserved) to help you optimize costs while maintaining performance. For detailed guidance on instance types and cluster sizing, see [Instance Types and Node Management](/cluster/nodepools/instance-types).
+Choosing the right instance types depends on your application requirements, cost optimization goals, and availability needs. SleakOps provides different node pool types (Reserved, Spot, On‑Demand) to help you optimize costs while maintaining performance. For detailed guidance on instance types and cluster sizing, see [Instance Types and Node Management](/cluster/nodepools/instance-types).

108-111: Doble espacio y pequeña mejora de estilo.

Hay doble espacio en “how you decide”. Ajuste de estilo propuesto.

-    <p>On the left pane, you will see a selector with the account names, select the one you'll use based on how you  decide to manage your clusters and environments.</p>
+    <p>On the left pane, you will see a selector with the account names. Select the one you'll use based on how you decide to manage your clusters and environments.</p>
i18n/es/docusaurus-plugin-content-docs/current/cluster/index.mdx (2)

54-60: Nueva FAQ de tipos de instancias: +1; unifiquemos el orden (Reserved → Spot → On‑Demand).

Para coherencia con la priorización global, sugiero reordenar la lista entre paréntesis.

-Elegir los tipos de instancias correctos depende de los requisitos de tu aplicación, los objetivos de optimización de costos y las necesidades de disponibilidad. SleakOps proporciona diferentes node pools (Spot, On-Demand, Reserved) para ayudarte a optimizar costos mientras mantienes el rendimiento. Para obtener orientación detallada sobre tipos de instancias y dimensionamiento de clústeres, consulta [Tipos de Instancias y Manejo de Nodos](/cluster/nodepools/instance-types).
+Elegir los tipos de instancias correctos depende de los requisitos de tu aplicación, los objetivos de optimización de costos y las necesidades de disponibilidad. SleakOps proporciona diferentes node pools (Reserved, Spot, On‑Demand) para ayudarte a optimizar costos mientras mantienes el rendimiento. Para obtener orientación detallada sobre tipos de instancias y dimensionamiento de clústeres, consulta [Tipos de Instancias y Manejo de Nodos](/cluster/nodepools/instance-types).

145-145: Terminología AZ en ES.

En ES solemos usar “Zonas de Disponibilidad (AZ)”. Quitar la “s” dentro del paréntesis mejora la consistencia.

-| Producción | **Configuración de Alta Disponibilidad (HA)**: Cuando está habilitada, esta configuración transforma tu clúster en un entorno listo para producción distribuyendo el clúster EKS en múltiples Zonas de Disponibilidad (AZs). Esto proporciona redundancia y tolerancia a fallos, asegurando operaciones ininterrumpidas incluso si una AZ experimenta problemas. Los clústeres de producción también se benefician de monitoreo mejorado, respaldos automatizados y asignación optimizada de recursos para cargas de trabajo críticas. |
+| Producción | **Configuración de Alta Disponibilidad (HA)**: Cuando está habilitada, esta configuración transforma tu clúster en un entorno listo para producción distribuyendo el clúster EKS en múltiples Zonas de Disponibilidad (AZ). Esto proporciona redundancia y tolerancia a fallos, asegurando operaciones ininterrumpidas incluso si una AZ experimenta problemas. Los clústeres de producción también se benefician de monitoreo mejorado, respaldos automatizados y asignación optimizada de recursos para cargas de trabajo críticas. |
i18n/es/docusaurus-plugin-content-docs/current/cluster/nodepools/creating-nodepool.mdx (1)

36-44: Gran actualización del formulario; afinemos gramática y consistencia.

Pequeños ajustes de estilo/ES y unificación “On‑Demand”. También quitar guion en “sobreaprovisionamiento”.

-| **Tipo de Instancia** | Selecciona uno o más tipos de instancias (ej. t3.medium, m5.large, c5.xlarge) basado en tus requisitos de cómputo. Puedes elegir múltiples tipos de instancias para proporcionar flexibilidad al autoscaler para provisionar la instancia disponible más rentable. |
-| **Tipo de Nodo** | Selecciona uno o más modelos de facturación para tus instancias. Puedes elegir múltiples opciones, y el sistema las priorizará en el siguiente orden: **Reserved** (mejor precio con compromiso) → **Spot** (mejor precio sin compromiso) → **On Demand** (precio más alto pero más flexible). Consulta [**¿Cuáles son los diferentes tipos de Node Pools?**](/cluster/nodepools). |
+| **Tipo de Instancia** | Selecciona uno o más tipos de instancias (p. ej., t3.medium, m5.large, c5.xlarge) según tus requisitos de cómputo. Puedes elegir múltiples tipos para dar flexibilidad al autoscaler y que provisione la instancia disponible más rentable. |
+| **Tipo de Nodo** | Selecciona uno o más modelos de facturación para tus instancias. Puedes elegir múltiples opciones, y el sistema las priorizará en el siguiente orden: **Reserved** (mejor precio con compromiso) → **Spot** (mejor precio sin compromiso) → **On‑Demand** (precio más alto pero más flexible). Consulta [**¿Cuáles son los diferentes tipos de Node Pools?**](/cluster/nodepools). |
 | **Tipo de Arquitectura** | Selecciona el tipo de arquitectura a utilizar durante la creación de tus instancias: (64-Bit) ARM o (64-Bit) X86, según tus necesidades de rendimiento y compatibilidad. Luego podrás crear nuevas instancias usando una arquitectura diferente. |
-| **Límite de Memoria** | Esto establece la memoria máxima que el clúster puede usar a medida que los servicios escalan. El autoscaler provisiona instancias basado en la demanda, pero esto no significa que el clúster siempre use la memoria máxima; simplemente define el límite superior para el autoscaler. |
-| **Límite de CPU** | Esto establece la CPU máxima que el clúster puede usar a medida que los servicios escalan. El autoscaler provisiona instancias basado en la demanda, pero esto no significa que el clúster siempre use la CPU máxima; simplemente define el límite superior para el autoscaler. |
+| **Límite de Memoria** | Establece la memoria máxima que el clúster puede usar a medida que los servicios escalan. El autoscaler provisiona instancias según la demanda; esto no implica que el clúster siempre use la memoria máxima: define el límite superior para el autoscaler. |
+| **Límite de CPU** | Establece la CPU máxima que el clúster puede usar a medida que los servicios escalan. El autoscaler provisiona instancias según la demanda; esto no implica que el clúster siempre use la CPU máxima: define el límite superior para el autoscaler. |
 | **Almacenamiento** | Configurado por defecto en 20GB, puedes modificarlo según tus necesidades. |
-| **(Por Nodo) Memoria Mínima** | Define la cantidad mínima de memoria que debe estar disponible en cada nodo antes de que el autoscaler considere el nodo como "utilizado". Esta configuración ayuda a prevenir el sobre-aprovisionamiento asegurando que los nodos mantengan un buffer mínimo de memoria para procesos del sistema y picos inesperados de carga de trabajo. |
-| **(Por Nodo) CPU Mínima** | Define la cantidad mínima de CPU que debe estar disponible en cada nodo antes de que el autoscaler considere el nodo como "utilizado". Esta configuración ayuda a prevenir el sobre-aprovisionamiento asegurando que los nodos mantengan un buffer mínimo de CPU para procesos del sistema y picos inesperados de carga de trabajo. |
+| **(Por nodo) Memoria mínima** | Define la cantidad mínima de memoria que debe estar disponible en cada nodo antes de que el autoscaler considere el nodo como “utilizado”. Esta configuración ayuda a prevenir el sobreaprovisionamiento, asegurando que los nodos mantengan un margen mínimo de memoria para procesos del sistema y picos inesperados de carga. |
+| **(Por nodo) CPU mínima** | Define la cantidad mínima de CPU que debe estar disponible en cada nodo antes de que el autoscaler considere el nodo como “utilizado”. Esta configuración ayuda a prevenir el sobreaprovisionamiento, asegurando que los nodos mantengan un margen mínimo de CPU para procesos del sistema y picos inesperados de carga. |
i18n/es/docusaurus-plugin-content-docs/current/cluster/nodepools/instance-types.mdx (5)

1-3: Imports no utilizados.

Ni Zoom, ni sus estilos, ni FiExternalLink se usan en este MDX. Mejor quitarlos.

-import Zoom from "react-medium-image-zoom";
-import "react-medium-image-zoom/dist/styles.css";
-import { FiExternalLink } from "react-icons/fi";
+// (imports removidos: no se usan en esta página)

7-7: Terminología “clúster(es)” en ES.

Usamos “clúster”/“clústeres” en otras páginas ES. Aquí aparece “clusters”. Recomiendo homogeneizar en todo el archivo.

¿Querés que te pase un diff de reemplazo global “cluster(s)” → “clúster(es)” para este archivo?


31-36: Reserved: matiz sobre “disponibilidad garantizada”.

En AWS, la “garantía de capacidad” aplica a variantes específicas (p. ej., Zonal RI). Para evitar inducir a error multi‑cloud, mejor suavizar “Garantizada”.

-**Características:**
-- **Costo:** Hasta 75% de descuento con compromiso
-- **Disponibilidad:** Garantizada para el período comprometido
-- **Uso ideal:** Cargas de trabajo predecibles, entornos de producción estables
+**Características:**
+- **Costo:** Hasta 75% de descuento con compromiso
+- **Disponibilidad:** Alta; la reserva de capacidad puede variar según el proveedor y el tipo de compromiso (p. ej., variantes con reserva zonal).
+- **Uso ideal:** Cargas de trabajo predecibles, entornos de producción estables

52-53: Spanglish: “retry logic”.

Pequeño ajuste para ES técnico.

-- **Microservicios:** Con circuit breakers y retry logic
+- **Microservicios:** Con circuit breakers y lógica de reintentos

103-105: AZ en ES.

Igual que en otras páginas ES: “Zonas de Disponibilidad (AZ)”.

-   - **Recomendado:** 3+ nodos para tolerancia a fallos de zona
-   - **Producción:** 6+ nodos distribuidos en múltiples AZs
+   - **Recomendado:** 3+ nodos para tolerancia a fallos de zona
+   - **Producción:** 6+ nodos distribuidos en múltiples Zonas de Disponibilidad (AZ)
docs/cluster/nodepools/index.mdx (3)

34-49: Contenido nuevo (Reserved/Spot/On‑Demand) y prioridad: sólido; alinemos con el resto de la doc.

El bloque está bien. Dos nits:

  • Mantener el orden de mención “Reserved, Spot, On‑Demand” donde listemos tipos (coherencia con la prioridad).
  • En inglés, solemos escribir “On‑Demand” (con guion) de forma consistente.
-**Priority Order:** When you select multiple node types, the system will automatically prioritize them in the following order to optimize costs: **Reserved** (best price with commitment) → **Spot** (best price without commitment) → **On-Demand** (highest price but most flexible).
+**Priority Order:** When you select multiple node types, the system will automatically prioritize them in the following order to optimize costs: **Reserved** (best price with commitment) → **Spot** (best price without commitment) → **On‑Demand** (highest price but most flexible).

65-68: Typos en pasos de conversión.

Corregir “Updade” ya lo arreglaste; falta “no longer” y un par de preposiciones.

-2. Updade your workloads and projects to run into the new Node Pool. 
-3. Delete the old node pool if it is not longer needed.
+2. Update your workloads and projects to run in the new Node Pool. 
+3. Delete the old node pool if it is no longer needed.

76-78: Paso 2 (arquitecturas): bien; pequeño ajuste paralelo al bloque anterior.

Solo pulimos la preposición de “run in”.

-2. Update your workloads and projects to run into the new Node Pool. 
+2. Update your workloads and projects to run in the new Node Pool. 
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 6432b1d and 1870239.

📒 Files selected for processing (7)
  • docs/cluster/index.mdx (3 hunks)
  • docs/cluster/nodepools/index.mdx (2 hunks)
  • docs/cluster/nodepools/instance-types.mdx (1 hunks)
  • i18n/es/docusaurus-plugin-content-docs/current/cluster/index.mdx (3 hunks)
  • i18n/es/docusaurus-plugin-content-docs/current/cluster/nodepools/creating-nodepool.mdx (1 hunks)
  • i18n/es/docusaurus-plugin-content-docs/current/cluster/nodepools/index.mdx (1 hunks)
  • i18n/es/docusaurus-plugin-content-docs/current/cluster/nodepools/instance-types.mdx (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • docs/cluster/nodepools/instance-types.mdx
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2024-11-27T17:42:11.531Z
Learnt from: agustinoli
PR: sleakops/docs#85
File: docs/project/dependency/index.mdx:78-78
Timestamp: 2024-11-27T17:42:11.531Z
Learning: En el documento `docs/project/dependency/index.mdx`, la numeración de los pasos es correcta y no necesita cambios.

Applied to files:

  • i18n/es/docusaurus-plugin-content-docs/current/cluster/nodepools/instance-types.mdx
🔇 Additional comments (2)
docs/cluster/index.mdx (1)

143-143: HA cell: texto claro; sin cambios funcionales.

La descripción de HA está bien explicada y consistente con el resto de la guía. LGTM.

i18n/es/docusaurus-plugin-content-docs/current/cluster/index.mdx (1)

110-113: Texto del panel izquierdo: bien; mininota de estilo.

“entornos” enlazado OK. Nada crítico. LGTM.

Comment thread docs/cluster/nodepools/index.mdx Outdated
- **Production Environments:** Critical applications that require guaranteed capacity and cost optimization.
- **Cost Optimization:** Workloads where you can commit to usage for extended periods to maximize savings.

- **Spot:** are instances that take advantage of spare capacity in a cloud provider's data center. They are available at a significant discount compared to On-Demand instances, but they come with the risk of being terminated if the provider needs the capacity back. Ideal for:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

este riesgo se mitiga con karpenter y la configuraciones que le hacemos. esta bien no nombrar karpenter, pero si me parece bien agregar algo mas porque si tu app soporta bien correr en pods volatiles ese riesgo no te afecta y t econviene usar spot.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

soy karim we

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

listo

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/cluster/nodepools/index.mdx (1)

66-69: Typos y gramática en los pasos de conversión Spot ⇄ On‑Demand.

“Updade” y “run into” suenan a error. Mejor “Update” y “assign to”.

 1. Create a Node Pool of the new desired type. 
-2. Updade your workloads and projects to run into the new Node Pool. 
-3. Delete the old node pool if it is not longer needed.
+2. Update your workloads and projects to assign them to the new Node Pool. 
+3. Delete the old Node Pool if it is no longer needed.
♻️ Duplicate comments (1)
docs/cluster/nodepools/index.mdx (1)

39-43: Spot: añadir condiciones operativas explícitas (tolerancia a interrupciones, PDBs, budgets) y quitar tono marketinero.

Buen encuadre, pero falta nombrar requisitos operativos mínimos para que no duela cuando el proveedor recorta capacidad.

-**Spot:** are instances that take advantage of spare capacity in a cloud provider's data center, offering up to 90% cost savings compared to On-Demand instances. While they can be terminated if the provider needs capacity back, **this is not a limitation but an opportunity** for well-architected applications. Ideal for:
-    - **Cloud-Native Applications:** Applications designed with stateless architecture that can handle pod interruptions and restart quickly.
-    - **Cost-Optimized Workloads:** Perfect for applications where significant cost savings (up to 90%) outweigh the need for guaranteed capacity.
-    - **Resilient Systems:** Applications with proper health checks, graceful shutdowns, and automatic restart capabilities.
+**Spot:** aprovechan capacidad sobrante del proveedor con ahorros de hasta ~90% frente a On‑Demand. Pueden ser interrumpidas en cualquier momento, por lo que exigen arquitectura resiliente. Útiles para:
+    - **Cloud‑Native Applications:** Stateless y con arranque rápido.
+    - **Cost‑Optimized Workloads:** Cuando el ahorro compensa la falta de garantías.
+    - **Resilient Systems:** Health checks, apagado elegante y reinicio automático, más PDBs y budgets/limites de interrupción para mantener SLOs.
🧹 Nitpick comments (6)
docs/cluster/nodepools/index.mdx (6)

44-46: On‑Demand: no es “fixed pricing”; es pago por uso sin compromiso.

Pequeño ajuste de precisión conceptual.

-**On-Demand:** are instances in a Kubernetes cluster that run with a fixed pricing model, providing reliable access to compute resources without the risk of interruption. Can be used:
+**On‑Demand:** instancias de pago por uso sin compromiso, con baja probabilidad de interrupción por parte del proveedor. Úsalas para:

48-48: Orden de prioridad: confirmar comportamiento real del producto y aclarar qué significa “prioriza”.

¿El autoscaler/placement de SleakOps efectivamente agenda primero nodos cubiertos por reservas, luego Spot y finalmente On‑Demand? ¿O es solo una guía de coste? Si es comportamiento de la plataforma, especifícalo y los criterios de fallback.

-**Priority Order:** When you select multiple node types, the system will automatically prioritize them in the following order to optimize costs: **Reserved** (best price with commitment) → **Spot** (best price without commitment) → **On-Demand** (highest price but most flexible).
+**Priority Order:** SleakOps intentará utilizar primero capacidad cubierta por **Reserved** (compromiso), luego **Spot** y, si no hay disponibilidad, **On‑Demand**. Este orden busca minimizar coste manteniendo disponibilidad. 

77-79: Pulir frase en conversión de arquitecturas (ARM ⇄ x86).

Mismo giro idiomático que arriba para consistencia.

-2. Update your workloads and projects to run into the new Node Pool. 
+2. Update your workloads and projects to assign them to the new Node Pool.

20-25: Accesibilidad: alt de la imagen poco descriptivo.

Mejorar alt para lectores de pantalla; opcionalmente añadir width/maxWidth. Verificad también si el CSS de react-medium-image-zoom está cargado globalmente.

-  <img
-    src="/img/cluster/nodepool-example-schema.png"
-    alt="nodepool-example-schema"
-  />
+  <img
+    src="/img/cluster/nodepool-example-schema.png"
+    alt="Esquema de pools de nodos creados por defecto en SleakOps (build arm64/amd64, core, spot y on‑demand)"
+  />

11-15: Consistencia de nombres: “on‑demand” con guion.

Ajustar “ondemand-arm/amd” → “on‑demand‑arm/amd” para alinear con el resto del documento.

-- **ondemand-arm/amd:** Ready for you to use.
+- **on-demand-arm/amd:** Ready for you to use.

91-93: Título con error tipográfico.

Quitar “my”/doble espacio.

-### How do I manage my  a Node Pool?
+### How do I manage a Node Pool?
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 1870239 and 2771a9a.

📒 Files selected for processing (1)
  • docs/cluster/nodepools/index.mdx (2 hunks)
🔇 Additional comments (1)
docs/cluster/nodepools/index.mdx (1)

50-50: Verificar ruta y existencia de la página enlazada.

Confirma que /cluster/nodepools/instance-types existe en esta rama y que el slug es correcto (con o sin barra final).

Comment thread docs/cluster/nodepools/index.mdx
Comment thread docs/cluster/nodepools/instance-types.mdx Outdated
Comment thread docs/cluster/nodepools/instance-types.mdx
Comment thread docs/cluster/nodepools/instance-types.mdx Outdated
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (2)
docs/cluster/nodepools/instance-types.mdx (2)

53-54: FIS como tip opcional, no requisito.

Mantener la mención a AWS FIS como “opcional/avanzado” evita que suene prescriptivo y reduce ruido.

-**Tested with FIS:** Applications validated with [AWS Fault Injection Simulator](https://aws.amazon.com/fis) to test node interruptions
+**Opcional (avanzado):** Validado con [AWS Fault Injection Simulator](https://aws.amazon.com/fis) para probar interrupciones de nodos

24-28: No recomendemos “bases de datos” dentro del clúster.

Decir “Ideal use: … databases …” puede inducir a desplegar DBs stateful en los nodos del clúster. Nuestra postura (y experiencia operativa) es preferir servicios gestionados (RDS/Aurora) o fuera del clúster.

-**Ideal use:** Critical applications, databases, production services
+**Ideal use:** Critical applications y servicios de producción
+Nota: Para bases de datos, preferimos servicios gestionados fuera del clúster (p. ej., Amazon RDS/Aurora) y evitar cargas altamente stateful en nodos del clúster.
🧹 Nitpick comments (4)
docs/cluster/nodepools/instance-types.mdx (4)

1-3: Quitar imports no utilizados (evitar bundle innecesario).

No se usan Zoom, los estilos de react-medium-image-zoom ni FiExternalLink. Mejor eliminarlos para no inflar el build de la doc.

-import Zoom from "react-medium-image-zoom";
-import "react-medium-image-zoom/dist/styles.css";
-import { FiExternalLink } from "react-icons/fi";
+

7-8: Aterrizar la guía al producto SleakOps (link a cómo configurarlo).

Añadid una línea que apunte explícitamente a la pantalla de creación/edición de Node Pools y su prioridad/multiselección, para que el lector pase de teoría a práctica.

 In SleakOps, efficient instance type management is crucial for optimizing costs and performance of your clusters. This guide will help you understand the different available instance types and how to make informed decisions about their usage.
+
+Para ver cómo configurarlo desde la UI (prioridad y multiselección de tipos), consultad la página de [Node Pools](./index).

11-19: Añadir manejo de interrupciones Spot (operativa concreta).

Sugerid explícitamente configurar el manejo de interrupciones (Daemon/terminator, PDBs, budgets de despliegue) para que la recomendación sea accionable desde SleakOps.

Puedo preparar una sección “Manejo de interrupciones Spot con SleakOps” con pasos y checks.


38-84: Unificad/condensad los FAQs o añadid tabla de decisiones.

Los dos FAQs se solapan parcialmente. Propuesta: una tabla “Spot vs On‑Demand: cuándo usar cada uno” y referencias cruzadas a la configuración del Node Pool.

¿Queréis que deje una tabla lista en MDX con criterios (latencia, tolerancia a interrupciones, coste, SLO)?

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 2771a9a and 3ca281a.

📒 Files selected for processing (2)
  • docs/cluster/nodepools/instance-types.mdx (1 hunks)
  • i18n/es/docusaurus-plugin-content-docs/current/cluster/nodepools/instance-types.mdx (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • i18n/es/docusaurus-plugin-content-docs/current/cluster/nodepools/instance-types.mdx

Comment thread docs/cluster/nodepools/instance-types.mdx
@lautaro-suarez lautaro-suarez merged commit 624d1f3 into develop Sep 17, 2025
1 check passed
@lautaro-suarez lautaro-suarez deleted the feat/SLEAK-3008_mejorar-documentacion-cluster branch September 17, 2025 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants