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

Integrate Existing etcd Clusters with etcd-druid #957

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

seshachalam-yv
Copy link
Contributor

How to categorize this PR?

/area control-plane
/area high-availability
/kind enhancement

What this PR does / why we need it:
This PR introduces the necessary changes to etcd-druid to enable seamless migration of existing etcd clusters into etcd-druid managed clusters. It includes updates to the API to support the existingCluster configuration, which allows clusters that are not initially managed by etcd-druid to be integrated without disruption.

  • New Documentation:
    A step-by-step guide is added to demonstrate how to migrate an unmanaged etcd cluster to an etcd-druid managed cluster. By leveraging the existingCluster feature, you can create an Etcd CR configured with your current cluster’s peer URLs and endpoints, prompting etcd-druid to join your existing members. Once the newly managed members are active, you can safely remove the old, unmanaged members. This approach offers a straightforward migration path with minimal downtime.

Which issue(s) this PR fixes:
Fixes #956

Special notes for your reviewer:

Release note:

Added the `existingCluster` configuration, enabling `etcd-druid` to join and manage previously unmanaged `etcd` clusters. By leveraging this feature, users can seamlessly migrate their existing `etcd` clusters to an `etcd-druid` managed setup without requiring a complete rebuild. 

- Introduced `ExistingCluster` struct in `EtcdConfig` to specify configuration for an existing etcd cluster.
- Added `MemberURLs` and `Endpoint` fields to `ExistingCluster` to define the URLs and endpoint of the existing etcd cluster members.
- Updated `prepareInitialCluster` function to include existing cluster member URLs.
- Modified `getBackupRestoreContainerCommandArgs` to append existing cluster endpoint to service endpoints.
@seshachalam-yv seshachalam-yv requested a review from a team as a code owner December 25, 2024 11:07
@gardener-robot gardener-robot added area/control-plane Control plane related area/high-availability High availability related kind/enhancement Enhancement, improvement, extension needs/review Needs review size/m Size of pull request is medium (see gardener-robot robot/bots/size.py) labels Dec 25, 2024
@gardener-robot-ci-2 gardener-robot-ci-2 added the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Dec 25, 2024
@gardener-robot-ci-1 gardener-robot-ci-1 added needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Dec 25, 2024
@seshachalam-yv
Copy link
Contributor Author

/test pull-etcd-druid-unit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/control-plane Control plane related area/high-availability High availability related kind/enhancement Enhancement, improvement, extension needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) needs/review Needs review size/m Size of pull request is medium (see gardener-robot robot/bots/size.py)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for Migrating Existing etcd Clusters to etcd-druid Managed Clusters
4 participants