-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[DOC-1274][DOC-1275][2026.1][k8s] YBA Operator HA and new CRDs (PitrRestore, xCluster DR, Read replica) for Operator #31985
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
Open
aishwarya24
wants to merge
20
commits into
yugabyte:master
Choose a base branch
from
aishwarya24:doc-1274
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+501
−87
Open
Changes from 1 commit
Commits
Show all changes
20 commits
Select commit
Hold shift + click to select a range
ca5c8de
operator HA
aishwarya24 e4ea34d
Apply suggestions from code review
aishwarya24 e0c992c
review comment
aishwarya24 529e367
Merge branch 'doc-1274' of https://github.com/aishwarya24/yugabyte-db…
aishwarya24 a820d97
added ta-31688
aishwarya24 83dda09
Merge branch 'doc-1348' of https://github.com/aishwarya24/yugabyte-db
aishwarya24 a0db8ef
removed wrong content from master
aishwarya24 8a85d28
Merge branch 'master' of https://github.com/yugabyte/yugabyte-db
aishwarya24 d1a28cb
Merge branch 'master' into doc-1274
aishwarya24 9e07008
added new CRDs
aishwarya24 80e19d3
edits
ddhodge 7ab008c
Merge branch 'master' into doc-1274
ddhodge 2ed3a30
format
ddhodge ed27eb9
edits
ddhodge 6894e44
edits
ddhodge 4c113da
Apply suggestions from code review
aishwarya24 5cde2df
Merge branch 'doc-1274' of https://github.com/aishwarya24/yugabyte-db…
aishwarya24 21dab9a
review comments
aishwarya24 f9a9756
added EA tag in the frontmatter
aishwarya24 134591e
Update docs/content/stable/yugabyte-platform/anywhere-automation/yb-k…
ddhodge File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
81 changes: 81 additions & 0 deletions
81
...le/yugabyte-platform/administer-yugabyte-platform/operator-high-availability.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,81 @@ | ||
| --- | ||
| title: YugabyteDB Anywhere Operator high availability | ||
| headerTitle: Operator high availability | ||
| description: Extend YBA high availability to synchronize Kubernetes Operator custom resources across clusters | ||
| headcontent: Synchronize operator-managed resources during YBA failover and failback | ||
| linkTitle: Operator high availability | ||
| menu: | ||
| stable_yugabyte-platform: | ||
| identifier: platform-operator-high-availability | ||
| parent: administer-yugabyte-platform | ||
| weight: 45 | ||
| type: docs | ||
| --- | ||
|
|
||
| {{<tags/feature/ea idea="2460">}}YugabyteDB Anywhere (YBA) Operator high availability extends the [YBA high availability (HA)](../high-availability/) framework to synchronize Kubernetes Operator custom resources (CRs) and their associated secrets between active and standby YBA instances. This ensures that a standby YBA instance can resume management of operator-controlled universes after a failover, without requiring you to manually recreate CRs or secrets. | ||
|
|
||
| ## Integration with YBA HA | ||
|
|
||
| Operator HA is a direct extension of the existing YBA HA framework. It uses the same asynchronous backup and restore mechanisms that replicate YBA management data between active and standby instances. Operator resources are included in those backups and restored automatically when a standby instance is promoted. | ||
|
|
||
| Because Operator HA builds on the standard YBA HA path, improvements to YBA HA are automatically inherited by the operator, providing a unified experience for both platform state and operator-managed Kubernetes resources. | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| Before you can use Operator HA, ensure the following: | ||
|
|
||
| - [YBA HA is configured](../high-availability/) between your active and standby instances. | ||
| - The [YugabyteDB Kubernetes Operator](../../anywhere-automation/yb-kubernetes-operator/) is enabled on each YBA instance in the HA cluster. | ||
| - Each YBA instance in the HA cluster can reach the Kubernetes API server for its local cluster. | ||
|
|
||
| ## Multi-cluster environments | ||
|
|
||
| Operator HA is designed for deployments where YBA instances run on _separate Kubernetes clusters_. This is common in [Multi-Cluster Services (MCS)](../../configure-yugabyte-platform/kubernetes/#configure-kubernetes-multi-cluster-environment) environments. | ||
|
|
||
| In a single-cluster deployment, both the active and standby YBA instances typically share access to the same Kubernetes control plane and the same CRs. Operator HA is not required in that scenario. | ||
|
aishwarya24 marked this conversation as resolved.
Outdated
|
||
|
|
||
| In a multi-cluster deployment, a failover creates a management blackout: the standby YBA instance receives YBA platform state through HA backups, but the operator CRs and secrets that define and manage universes exist only on the primary cluster's Kubernetes API. Without Operator HA, the standby instance cannot manage those universes after promotion. | ||
|
|
||
| Operator HA addresses this when: | ||
|
|
||
| - YBA instances are deployed on entirely separate Kubernetes clusters. | ||
| - The primary cluster goes offline and the standby YBA on a remote cluster must take over management of existing universes. | ||
| - The standby instance needs immediate access to the CRs and secrets (such as kubeconfigs and certificates) used to create and maintain those universes. | ||
|
|
||
| ## What to expect on failover and failback | ||
|
|
||
| You can expect a streamlined transition of management capabilities when a failover or failback is triggered. | ||
|
|
||
| ### During failover | ||
|
|
||
| - Resource Synchronization: The standby node automatically imports and applies all necessary YAML definitions for Operator CRs and their associated secrets (such as Kubeconfigs and certificates) to its local Kubernetes API. | ||
|
aishwarya24 marked this conversation as resolved.
Outdated
|
||
|
|
||
| - State alignment: The system applies "force/replace" logic to ensure the new active instance's state matches the latest source of truth from the backup, avoiding inconsistencies. | ||
|
|
||
| - Operator Activation: After operator resources are successfully applied, the standby YBA service activates its operator thread, and resumes management of the infrastructure. You do not need to manually recreate CRs or re-import universes. | ||
|
aishwarya24 marked this conversation as resolved.
Outdated
|
||
|
|
||
| For general failover steps, see [Promote a standby instance to active](../high-availability/#promote-a-standby-instance-to-active). | ||
|
|
||
| ### During failback | ||
|
|
||
| When you fail back to the original primary, Operator HA keeps operator resource state consistent across both clusters. | ||
|
|
||
| - Spec Consistency: When you fail back to the original primary, Operator HA ensures that any edits made while the standby was active are synchronized back to the original primary. This prevents specifications from being rolled back to an outdated state. | ||
|
aishwarya24 marked this conversation as resolved.
Outdated
|
||
|
|
||
| - Lifecycle management: If a CR was deleted during the failover period, the system recognizes this state and ensures the resource is not incorrectly recreated upon failback. | ||
|
|
||
| ## Supported resources | ||
|
|
||
| The HA mechanism tracks and transfers all critical YBA Operator resources, including the following: | ||
|
|
||
| - Universes and providers. | ||
| - Backup, scheduled backup, and PITR configurations. | ||
| - Storage configurations and YugabyteDB certificates. | ||
| - Referenced Kubernetes secrets containing credentials and tokens. | ||
|
|
||
| For details on each CR type, see [YugabyteDB Kubernetes Operator CRDs](../../anywhere-automation/yb-kubernetes-operator/#yugabytedb-kubernetes-operator-crds). | ||
|
|
||
| ## Learn more | ||
|
|
||
| - [Enable high availability](../high-availability/) | ||
| - [YugabyteDB Kubernetes Operator](../../anywhere-automation/yb-kubernetes-operator/) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.