Skip to content

Add Choose Your Deployment chooser page for Kubernetes#1795

Closed
JakeSCahill wants to merge 6 commits into
betafrom
doc-choose-deployment
Closed

Add Choose Your Deployment chooser page for Kubernetes#1795
JakeSCahill wants to merge 6 commits into
betafrom
doc-choose-deployment

Conversation

@JakeSCahill

Copy link
Copy Markdown
Contributor

Summary

Adds a "Choose Your Deployment" chooser page for the Kubernetes deploy section and re-nests the nav so the deployment task pages sit under it. Today "Deploy Redpanda", "Deploy a Stretch Cluster", and "High Availability" are flat siblings with nothing advising which shape to pick.

Changes

  • New concept page deploy:redpanda/kubernetes/k-choose-deployment.adoc (Pattern-B chooser, modeled on the Volume Types page): failure-mitigation table (transcluded from the HA partial via a new tagged region), decision dimensions, a topology comparison table (multi-AZ single cluster / Stretch Cluster / async multi-cluster with Shadowing), quick picks, and a Stretch-vs-Shadowing compatibility section.
  • Nav: High Availability, Deploy Redpanda, and Deploy a Stretch Cluster now nest under Choose Your Deployment. No URLs change, so no page aliases are needed.
  • HA partial: the failure-mitigation table is wrapped in a failure-mitigation tagged region (comments only; both existing renders unchanged) and gains a Kubernetes-only TIP to the chooser (Linux render untouched).
  • Scope note on Deploy Redpanda; Stretch page intro TIP retargeted to the chooser.
  • Hygiene: fixed two stale alias-path xrefs (k-decommission-brokers.adoc, shadowing/overview.adoc — the latter inside ifndef::env-cloud, so cloud-docs is unaffected).

Stretch × Shadowing compatibility statement (needs eng sanity-check)

Verified against operator main (8b034ee69, v26.2.1-beta.3): core has no stretch concept, so no fundamental conflict. Operator-side, a StretchCluster resolves as the shadow (target) cluster of a ShadowLink (factory + multicluster reconciler wired, unit-tested, excluded from e2e), but there is no remote resolver for a StretchCluster source — such a ShadowLink passes admission and fails at reconcile. The page states: shadow-target supported, source not supported, in this release.

@david-yu could you sanity-check that statement matches the intended 26.2 support matrix? If target-side isn't meant to be advertised yet, we'll soften it to "contact Redpanda before combining them".

Sequencing

Stacked on doc-1775-stretch-clusters (#1681) because both touch nav, the HA partial, the stretch page, and the shadowing overview. Merge #1681 first, then this.

Validation

Local full-site build is blocked by a pre-existing glob-stream crash in the build tooling (also hit on #1681), so link integrity was verified directly: every xref target in the new/edited files exists, the tagged region extracts cleanly, and the #multi-az-deployment anchor consumed by Production Readiness is intact. Please eyeball the Netlify preview for the chooser page and both High Availability renders (Kubernetes and Linux — the Linux page must be unchanged).

Jira

Related: https://redpandadata.atlassian.net/browse/DOC-2198 (Stretch Cluster GA docs)

Rewritten for the 26.2 GA line and validated end-to-end on three local
kind clusters (Kubernetes 1.28, flat networking, operator 26.2.1-beta.3):
bootstrap, operator install, Raft formation, StretchCluster and
RedpandaBrokerPool deployment, User creation, and multicluster status.

Key corrections against the operator source (main @ 8b034ee69):
- Broker pools use the RedpandaBrokerPool CRD, not NodePool
- tls, listeners, and rackAwareness are pool-level fields
- fullnameOverride and multicluster.name must match the bootstrap
  cluster name (Secret names derive from it)
- SASL is optional; SCRAM credentials are created with a User resource
- Corrected bootstrap flag semantics; added --name-override and GitOps
  output modes
- New prerequisite: Kubernetes 1.28+ (pod-index label)
- New troubleshooting entry: bootstrap-user password mismatch recovery

Sets operator-beta-version/operator-beta-tag antora.yml fallbacks to the
current operator release so version attributes resolve at build time.
- High Availability partial (multi-region and multi-cluster sections):
  point to Stretch Clusters for a single cluster spanning Kubernetes
  clusters, and distinguish it from async multi-cluster replication
- Shadowing overview: contrast async DR with a synchronous Stretch
  Cluster (self-managed builds only, inside the existing env-cloud guard)
- Operator release notes: add v26.2.x section announcing Stretch
  Clusters and the rpk k8s multicluster plugin
- Stretch Clusters page: link back to the HA overview and Shadowing
- Add enterprise license note at the top (shared partial)
- Add cross-cloud deployment prerequisites: site-to-site VPN mesh,
  non-overlapping CIDRs, sub-100ms latency, cross-cluster CNI, and
  double-encryption and egress-cost notes
- Add 'Optimize for region failures' section: rack awareness wiring,
  leader pinning with default_leaders_preference, and automatic ghost
  broker ejection via continuous partition balancing

Facts verified against redpanda-operator main (rack values come from the
node label configured in rackAwareness.nodeAnnotation, default
topology.kubernetes.io/zone; ghost ejection is native continuous
balancing behavior, no operator involvement) and the cluster property
reference.
Validated live on kind: after automatic ghost ejection, a returning
region's broker cannot rejoin with its old identity; wiping the PVC
lets it join as a new broker and continuous balancing restores replicas.
New concept page compares deployment topologies (multi-AZ single
cluster, Stretch Cluster, async multi-cluster with Shadowing) with a
decision table, quick picks, and a Stretch-vs-Shadowing compatibility
statement (shadow-target only in this release, verified against
operator source). High Availability, Deploy Redpanda, and Deploy a
Stretch Cluster now nest under it in the nav; URLs are unchanged so no
aliases are needed.

The HA partial's failure-mitigation table is now a tagged region
transcluded by the chooser, and the partial gains a Kubernetes-only TIP
to the chooser (Linux render unchanged). Also fixes two stale
alias-path xrefs (k-decommission-brokers, shadowing overview) and adds
a scope note to Deploy Redpanda.
@JakeSCahill
JakeSCahill requested a review from a team as a code owner July 14, 2026 09:24
@netlify

netlify Bot commented Jul 14, 2026

Copy link
Copy Markdown

Deploy Preview for redpanda-docs-preview ready!

Name Link
🔨 Latest commit 8edf6b9
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-docs-preview/deploys/6a56028861ca410008b22753
😎 Deploy Preview https://deploy-preview-1795--redpanda-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2524c169-bf69-449b-8f3b-6d18c4dc4ce0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch doc-choose-deployment

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.

The chooser's children are the selectable deployment options; High
Availability is the concept page that informs the choice, serves both
options, and is a common direct destination. It stays a sibling, linked
from the chooser's next steps.
@JakeSCahill

Copy link
Copy Markdown
Contributor Author

Folding this into #1681 per Jake — the chooser work now lives on the stretch cluster PR (commits 872276d and 8edf6b9). The eng sanity-check request on the Stretch × Shadowing statement moves there too.

@JakeSCahill
JakeSCahill deleted the doc-choose-deployment branch July 14, 2026 09:34
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.

1 participant