Skip to content
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

DEP-06: Immutable ETCD Backups #1

Closed
wants to merge 1 commit into from

Conversation

seshachalam-yv
Copy link
Owner

How to categorize this PR?

/area TODO
/kind TODO

What this PR does / why we need it:

Which issue(s) this PR fixes:
Fixes #

Special notes for your reviewer:

Release note:


Copy link
Collaborator

@renormalize renormalize left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the very well written DEP @seshachalam-yv!
Just have one strong suggestion with regards to the terminology that is to be used. Thanks.

- [Proposal](#proposal)
- [Overview](#overview)
- [Detailed Design](#detailed-design)
- [Bucket Lock Mechanism](#bucket-lock-mechanism)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The term Bucket Lock is identical to the terminology used by one vendor - GCS. Perhaps we could come up with terminology which is vendor agnostic, since we plan on supporting multiple and each has their own terminology?

docs/proposals/06-immutable-etcd-backups.md Outdated Show resolved Hide resolved

#### Bucket Lock Mechanism

The Bucket Lock feature configures a retention policy for a cloud storage bucket, governing how long objects in the bucket must be retained. It also allows for locking the bucket's retention policy, permanently preventing the policy from being reduced or removed.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The phrase retention policy might be confusing for someone who is familiar with the etcd repos in gardener. Case in point: gardener/etcd-backup-restore#776 (comment).

In etcd-backup-restore, we already have a feature called delta snapshot retention period which might be confused with what is being expressed here - the duration for which a snapshot is immutable after upload.

Can we use something like immutability period as expressed here gardener/etcd-backup-restore#776 (comment)?

docs/proposals/06-immutable-etcd-backups.md Outdated Show resolved Hide resolved

#### ETCD Backup Configuration

Operators need to ensure that the ETCD backup configuration aligns with the immutability requirements. This includes setting appropriate retention periods.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Retention period here is slightly confusing again.


Approach 2 is feasible and can be achieved in two ways:

- **Option A:** Wake up the ETCD cluster by increasing the replicas, take a snapshot, and then hibernate the ETCD by setting the replicas to zero.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This assumes the reader knows what happens in gardener/gardener's hibernation. Maybe we could instead say that the etcd cluster is brought up?

docs/proposals/06-immutable-etcd-backups.md Outdated Show resolved Hide resolved
docs/proposals/06-immutable-etcd-backups.md Outdated Show resolved Hide resolved

### Object-Level Retention Policies vs. Bucket-Level Retention Policies

An alternative to implementing immutability via bucket-level retention is to use object-level retention policies. Object-level retention allows for more granular control over the retention periods of individual objects within a bucket, whereas bucket-level retention applies a uniform retention period to all objects in the bucket.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same suggestions about retention period v/s immutability period apply here specifically.

docs/proposals/06-immutable-etcd-backups.md Outdated Show resolved Hide resolved
---------

Co-authored-by: Saketh Kalaga <51327242+renormalize@users.noreply.github.com>
@seshachalam-yv seshachalam-yv force-pushed the feature/dep-06-immutable-etcd-backups branch from be9a969 to 34718cc Compare October 1, 2024 11:40
@seshachalam-yv
Copy link
Owner Author

Closing this PR, since opening on upstream.

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.

2 participants