feat: improve cluster and nodepool doc#119
Conversation
WalkthroughSe 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
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
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests
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.
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. Comment |
There was a problem hiding this comment.
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.
📒 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. |
There was a problem hiding this comment.
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.
📒 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.
| - **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: |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
📒 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).
There was a problem hiding this comment.
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 dereact-medium-image-zoomniFiExternalLink. 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.
📒 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
Summary by CodeRabbit