-
Notifications
You must be signed in to change notification settings - Fork 116
https://issues.redhat.com/browse/ACM-22475 Backup and restore Observability #8222
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
Changes from 10 commits
f4af7cf
7fdc3f9
d33ca43
28c98f2
3de94fb
b8060c5
34c4cf1
ae867a8
c4a6b18
28cf2aa
a3dceeb
6a69196
8016c5f
d0d76eb
b0a3688
fefe642
745f95b
4a506ff
5b59223
768295a
1a8b5fe
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,26 @@ | ||||||
| [#backup-restore-obs-config] | ||||||
| = Backup and restore configuration for Observability | ||||||
|
|
||||||
| The Observability service uses an S3-compatible object store to persist all time-series data collected from managed clusters. Because Observability is a stateful service, it is sensitive to active and passive backup patterns. You must configure Oservability to ensure data continuity and integrity during hub cluster migration or backup. | ||||||
dockerymick marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| The Observability service uses an S3-compatible object store to persist all time-series data collected from managed clusters. Because Observability is a stateful service, it is sensitive to active and passive backup patterns. You must configure Oservability to ensure data continuity and integrity during hub cluster migration or backup. | |
| The Observability service uses an S3-compatible object store to persist all time-series data collected from managed clusters. Because Observability is a stateful service, it is sensitive to active and passive backup patterns. You must configure Oservability to ensure that your data stays safe and keeps its continuity during the hub cluster migration or backup. |
dockerymick marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
dockerymick marked this conversation as resolved.
Show resolved
Hide resolved
dockerymick marked this conversation as resolved.
Show resolved
Hide resolved
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,77 @@ | ||||||
| [#backup-restore-obs] | ||||||
| = Backing up and restoring Observability service | ||||||
|
|
||||||
| Backup and restore the Observability service to maintain data continuity and integrity during hub cluster migration or backup. It is assumed that the same S3-compatible object store is used across both the primary and backup hub clusters to minimize disruption in metric data collection. | ||||||
dockerymick marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
|
|
||||||
| .Prerequsites | ||||||
|
|
||||||
| - are there prereqs? | ||||||
| [#backup-restore-obs-procedure] | ||||||
| == Backing up and restoring Observability procedure | ||||||
|
||||||
|
|
||||||
| . To ensure the Observability service recognizes the hub cluster as the `local-cluster`, change the `spec.disableHubSelfManagement` parameter in the `MultiClusterHub` custom resource to `false`. | ||||||
|
||||||
| . Manually back up and restore the `observatium` resource and `observability` deployment to ensure continuity across hub clusters. | ||||||
|
||||||
| .. To preserve the tenant ID of the `observatorium` resource during the restore, run the following command: | ||||||
dockerymick marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
|
|
||||||
| + | ||||||
| [source,bash] | ||||||
| ---- | ||||||
| oc get observatorium -n open-cluster-management-observability -o yaml > observatorium-backup.yaml | ||||||
| ---- | ||||||
|
|
||||||
| . To backup the `observability` deployment, run the following command: | ||||||
|
|
||||||
| + | ||||||
| [source,bash] | ||||||
| ---- | ||||||
| oc get mco observability -o yaml > mco-cr-backup.yaml | ||||||
| ---- | ||||||
|
|
||||||
| . Shut down the Thanos compactor on your primary hub cluster. | ||||||
|
||||||
| .. To prevent write conflicts and deduplication issues while working on the same object storage, stop the Thanos compactor before starting the restore operation on the backup hub cluster. Run the following command: | ||||||
|
|
||||||
| + | ||||||
| [source,bash] | ||||||
| ---- | ||||||
| oc scale statefulset observability-thanos-compact -n open-cluster-management-observability --replicas=0 | ||||||
| ---- | ||||||
|
|
||||||
| .. Verify the compactor is stopped by running the following command: | ||||||
|
|
||||||
| + | ||||||
| [source,bash] | ||||||
| ---- | ||||||
| oc get pods observability-thanos-compact-0 -n open-cluster-management-observability | ||||||
| ---- | ||||||
|
|
||||||
| . To restore the `backup` resources, see xref:../business_continuity/backup_restore/backup_restore.adoc#restoring-backup-restore-operation[Using the restore operation for backup types]. You can restore the automatically backed-up ConfigMaps and Secrets listed in the backup and restore configuration for Observability. | ||||||
|
||||||
|
|
||||||
| . To preserve the tenant ID for maintaing continuity in the metrics ingestion and querying, restore the `observatorium` resource to the backup hub cluster. Run the following command: | ||||||
|
|
||||||
| + | ||||||
| [source,bash] | ||||||
| ---- | ||||||
| oc apply -f observatorium-backup.yaml | ||||||
| ---- | ||||||
|
|
||||||
| . Apply the backed up `MultiClusterObservability` custom resource to start the Observability service on the new restored hub cluster. Run the following command: | ||||||
|
|
||||||
dockerymick marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
| + | ||||||
| [source,bash] | ||||||
| ---- | ||||||
| oc apply -f mco-cr-backup.yaml | ||||||
| ---- | ||||||
| + | ||||||
| The operator starts the Observability service and detects the existing `observatorium` resource, reusing the preserved tenant ID instead of creating a new one. | ||||||
|
|
||||||
| . Migrate managed clusters to the new hub cluster. | ||||||
|
||||||
| . Migrate managed clusters to the new hub cluster. | |
| . Migrate managed clusters to the new hub cluster. Complete the following steps: |
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.
Or let it stand alone without a step:
Migrate managed clusters to the new hub cluster. Complete the following steps:
dockerymick marked this conversation as resolved.
Show resolved
Hide resolved
dockerymick marked this conversation as resolved.
Show resolved
Hide resolved
Outdated
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.
| . Shut down Observability on your primary hub cluster and clear in-memory metrics to S3 object after migrating all managed clusters. Run the following command: | |
| . Shut down the Observability service on your primary hub cluster and clear in-memory metrics to S3 object after migrating all managed clusters. Run the following command: |
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.
API doc is deprecated
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.
Not the doc but the observability API name, "observability.open-cluster-management.io"
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.
@subbarao-meduri what do you think? This part of the doc explain what sources are backed up
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.
The Obs resources should not be added to this section @dockerymick because they are Secrets and ConfigMaps with a backup label annotation , and some resources which I understand should be manually backed up
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.
@birsanv thanks Valentina for the clarity! I will remove my hidden comment