-
Notifications
You must be signed in to change notification settings - Fork 14
feat: added solution of create redis instanace with hostpath #101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
WalkthroughAdded a new documentation guide describing how to create Redis instances on Kubernetes using hostPath PersistentVolumes without a dynamic provisioner, including StorageClass and multiple PV YAML examples, Sentinel and Cluster deployment instructions, node/hostPath affinity, and operational notes. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
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.
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 (1)
docs/en/solutions/ecosystem/How_to_Create_Redis_Instance_With_Hostpath.md (1)
14-14: Avoid repetitive sentence beginnings to improve readability.The introduction contains three consecutive sentences starting with "This," which impacts flow and readability. Consider rephrasing for better variety.
🔎 Proposed revision for better sentence variety
- This guide explains how to configure an instance of Alauda Cache Service for Redis OSS to store its data in a specific directory on your Kubernetes host machine. This is achieved by creating manual `StorageClass` and `PersistentVolume` (PV) resources. This approach is useful when an external storage provisioner is not available. + This guide explains how to configure an instance of Alauda Cache Service for Redis OSS to store its data in a specific directory on your Kubernetes host machine. You can achieve this by creating manual `StorageClass` and `PersistentVolume` (PV) resources, which is particularly useful when an external storage provisioner is not available.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/en/solutions/ecosystem/How_to_Create_Redis_Instance_With_Hostpath.md
🧰 Additional context used
🪛 LanguageTool
docs/en/solutions/ecosystem/How_to_Create_Redis_Instance_With_Hostpath.md
[style] ~14-~14: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... and PersistentVolume (PV) resources. This approach is useful when an external sto...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Agent
🔇 Additional comments (7)
docs/en/solutions/ecosystem/How_to_Create_Redis_Instance_With_Hostpath.md (7)
16-16: Terminology clarification is well-placed and appropriate.The note explicitly documenting the shift from "Master" to "Primary" terminology is clear and well-positioned in the introduction. This aligns with modern Redis conventions and improves document clarity.
1-8: Frontmatter structure is appropriate for the documentation platform.The YAML frontmatter with kind, products, and version metadata follows the expected format for this knowledge base.
18-113: Prerequisites section provides clear, actionable guidance with specific context for different modes.The prerequisites section effectively breaks down requirements for Sentinel and Cluster modes, with explicit UID/GID specifications (999:1000) and node distribution guidance. Directory creation commands are practical and reproducible.
114-524: YAML configuration examples are comprehensive and well-structured with clear placeholder markers.The procedure section effectively covers StorageClass creation and PersistentVolume configurations for multiple scenarios (Sentinel and both Cluster affinity modes). Each YAML block includes helpful comments marking placeholders (
<instance-name>,<namespace>,<node-X>) and references to the PVC naming patterns defined later. The Redis instance examples for both modes are complete with sensible defaults.
481-481: Documentation links to external resources are included but lack version specificity.The references to "Create Redis Instance" appear twice but don't specify documentation versions. Consider verifying that these links remain stable and match the documented version (6.0) being used in the examples.
Also applies to: 522-522
483-483: Important notes about PVC naming pattern matching are correctly emphasized.The reminders to match
metadata.namewith PVclaimRefdefinitions and to follow the specific PVC naming patterns (redis-data-rfr-*for Sentinel,redis-data-drc-*for Cluster) are critical and properly highlighted.Also applies to: 524-524
526-552: Important Considerations section effectively summarizes critical operational guidance.The section covers PV naming conventions, high availability requirements, and reusability workflows. The table format for naming patterns is clear and serves as a quick reference.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces a comprehensive guide for creating Redis instances using HostPath storage in Kubernetes environments where external storage provisioners are unavailable. The document emphasizes modern terminology ("Primary" instead of "Master") and provides detailed instructions for both Sentinel and Cluster deployment modes.
Key Changes:
- New documentation file explaining HostPath configuration for Redis instances
- Detailed instructions for both Sentinel mode (1 Primary + 1 Replica) and Cluster mode (3 Primaries + 3 Replicas)
- Complete YAML examples for StorageClass, PersistentVolumes, and Redis instance configurations
- Anti-affinity scheduling guidelines for high availability deployments
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
docs/en/solutions/ecosystem/How_to_Create_Redis_Instance_With_Hostpath.md
Show resolved
Hide resolved
docs/en/solutions/ecosystem/How_to_Create_Redis_Instance_With_Hostpath.md
Outdated
Show resolved
Hide resolved
docs/en/solutions/ecosystem/How_to_Create_Redis_Instance_With_Hostpath.md
Outdated
Show resolved
Hide resolved
docs/en/solutions/ecosystem/How_to_Create_Redis_Instance_With_Hostpath.md
Show resolved
Hide resolved
docs/en/solutions/ecosystem/How_to_Create_Redis_Instance_With_Hostpath.md
Show resolved
Hide resolved
docs/en/solutions/ecosystem/How_to_Create_Redis_Instance_With_Hostpath.md
Outdated
Show resolved
Hide resolved
…Hostpath.md Co-authored-by: Copilot <[email protected]>
…Hostpath.md Co-authored-by: Copilot <[email protected]>
…Hostpath.md Co-authored-by: Copilot <[email protected]>
There was a problem hiding this 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 (1)
docs/en/solutions/ecosystem/How_to_Create_Redis_Instance_With_Hostpath.md (1)
12-16: Improve sentence flow in introduction.Lines 14-15 have three successive sentences beginning with "This," which creates repetitive phrasing. Rewriting one or two of these sentences would improve readability.
- This guide explains how to configure an instance of Alauda Cache Service for Redis OSS to store its data in a specific directory on your Kubernetes host machine. This is achieved by creating manual `StorageClass` and `PersistentVolume` (PV) resources. This approach is useful when an external storage provisioner is not available. + This guide explains how to configure an instance of Alauda Cache Service for Redis OSS to store its data in a specific directory on your Kubernetes host machine. To achieve this, you create manual `StorageClass` and `PersistentVolume` (PV) resources. This approach is useful when an external storage provisioner is not available.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/en/solutions/ecosystem/How_to_Create_Redis_Instance_With_Hostpath.md
🧰 Additional context used
🪛 LanguageTool
docs/en/solutions/ecosystem/How_to_Create_Redis_Instance_With_Hostpath.md
[style] ~14-~14: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... and PersistentVolume (PV) resources. This approach is useful when an external sto...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
🔇 Additional comments (2)
docs/en/solutions/ecosystem/How_to_Create_Redis_Instance_With_Hostpath.md (2)
508-511: Remove suggestion to change "slave" to "replica" in YAML—these are immutable API field names.While the document uses "Primary" and "Replica" terminology (line 16), the YAML configuration examples correctly use
masterandslavebecause these are literal field names defined in the Alauda Redis Operator CRD specification. The field names cannot be changed to match documentation terminology. No changes are needed.Likely an incorrect or invalid review comment.
449-452: YAML field names cannot be changed—they are defined by the Alauda operator schema.The fields
masterandslaveunderreplicas.sentinelandreplicas.clusterare part of the Alauda operator's CRD specification (apiVersion: middleware.alauda.io/v1,kind: Redis). These are immutable schema field names, not arbitrary documentation choices.Changing them to
primaryandreplicawould violate the operator's API contract and cause the manifests to be rejected when applied. While the document's narrative correctly uses "Primary" and "Replica" terminology, the YAML field names are determined by the operator's schema and cannot be aligned through documentation changes.If terminology alignment is desired, it would require changes to the Alauda operator itself, not this guide.
Likely an incorrect or invalid review comment.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.