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

etcd operator working group #7917

Merged
merged 1 commit into from
Jul 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions OWNERS_ALIASES
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,12 @@ aliases:
- johnbelamaric
- klueska
- pohly
wg-etcd-operator-leads:
- ahrtr
- hakman
- jberkus
- jmhbnz
- justinsb
ahrtr marked this conversation as resolved.
Show resolved Hide resolved
Comment on lines +133 to +138
Copy link
Member

@kvaps kvaps Jul 18, 2024

Choose a reason for hiding this comment

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

If it is applicable I'd like also to be in this list to represent our community.

Suggested change
wg-etcd-operator-leads:
- ahrtr
- hakman
- jberkus
- jmhbnz
- justinsb
wg-etcd-operator-leads:
- ahrtr
- hakman
- jberkus
- jmhbnz
- justinsb
- kvaps

Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for volunteering for the working group! This WG isn't a standing body to represent all etcd operators, though. It's a specific one-time effort to create an official Kubernetes-supported operator. As part of that, we'll be evaluating existing operators to determine if any of them can become the core of this new operator. That means that having the author of one such operator making that evaluation, as a WG chair, isn't a good idea.

You are very welcome to participate in the working group once it gets going, including meetings, issues, commentary, and roadmap.

wg-lts-leads:
- jeremyrickard
- liggitt
Expand Down
1 change: 1 addition & 0 deletions liaisons.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ members will assume one of the departing members groups.
| [WG Batch](wg-batch/README.md) | Bob Killen (**[@mrbobbytables](https://github.com/mrbobbytables)**) |
| [WG Data Protection](wg-data-protection/README.md) | Patrick Ohly (**[@pohly](https://github.com/pohly)**) |
| [WG Device Management](wg-device-management/README.md) | Patrick Ohly (**[@pohly](https://github.com/pohly)**) |
| [WG etcd Operator](wg-etcd-operator/README.md) | Maciej Szulik (**[@soltysh](https://github.com/soltysh)**) |
| [WG LTS](wg-lts/README.md) | Nabarun Pal (**[@palnabarun](https://github.com/palnabarun)**) |
| [WG Policy](wg-policy/README.md) | Patrick Ohly (**[@pohly](https://github.com/pohly)**) |
| [WG Serving](wg-serving/README.md) | Maciej Szulik (**[@soltysh](https://github.com/soltysh)**) |
Expand Down
1 change: 1 addition & 0 deletions sig-cluster-lifecycle/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ subprojects, and resolve cross-subproject technical issues and decisions.

The following [working groups][working-group-definition] are sponsored by sig-cluster-lifecycle:
* [WG LTS](/wg-lts)
* [WG etcd Operator](/wg-etcd-operator)


## Subprojects
Expand Down
8 changes: 7 additions & 1 deletion sig-etcd/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ The Chairs of the SIG run operations and processes governing the SIG.
The Technical Leads of the SIG establish new subprojects, decommission existing
subprojects, and resolve cross-subproject technical issues and decisions.

* Benjamin Wang (**[@ahrtr](https://github.com/ahrtr)**), VMWare
* Benjamin Wang (**[@ahrtr](https://github.com/ahrtr)**), VMware
* Marek Siarkowicz (**[@serathius](https://github.com/serathius)**), Google

## Contact
Expand All @@ -49,6 +49,12 @@ subprojects, and resolve cross-subproject technical issues and decisions.
- [@kubernetes/sig-etcd-leads](https://github.com/orgs/kubernetes/teams/sig-etcd-leads) - SIG Chairs and Tech Leads
- Steering Committee Liaison: Bob Killen (**[@mrbobbytables](https://github.com/mrbobbytables)**)

## Working Groups

The following [working groups][working-group-definition] are sponsored by sig-etcd:
* [WG etcd Operator](/wg-etcd-operator)


## Subprojects
ahrtr marked this conversation as resolved.
Show resolved Hide resolved

The following [subprojects][subproject-definition] are owned by sig-etcd:
Expand Down
1 change: 1 addition & 0 deletions sig-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ When the need arises, a [new SIG can be created](sig-wg-lifecycle.md)
|[Batch](wg-batch/README.md)|[batch](https://github.com/kubernetes/kubernetes/labels/wg%2Fbatch)|* Apps<br>* Autoscaling<br>* Node<br>* Scheduling<br>|* [Aldo Culquicondor](https://github.com/alculquicondor), Google<br>* [Marcin Wielgus](https://github.com/mwielgus), Google<br>* [Maciej Szulik](https://github.com/soltysh), Red Hat<br>* [Swati Sehgal](https://github.com/swatisehgal), Red Hat<br>|* [Slack](https://kubernetes.slack.com/messages/wg-batch)<br>* [Mailing List](https://groups.google.com/a/kubernetes.io/g/wg-batch)|* Regular Meeting ([Calendar](https://calendar.google.com/calendar/embed?src=8ulop9k0jfpuo0t7kp8d9ubtj4%40group.calendar.google.com)): [Thursdays (starting February 15th 2024)s at 3PM CET (Central European Time) (monthly)](https://zoom.us/j/98329676612?pwd=c0N2bVV1aTh2VzltckdXSitaZXBKQT09)<br>* Regular Meeting ([Calendar](https://calendar.google.com/calendar/embed?src=8ulop9k0jfpuo0t7kp8d9ubtj4%40group.calendar.google.com)): [Thursdays (starting February 1st 2024)s at 3PM PT (Pacific Time) (monthly)](https://zoom.us/j/98329676612?pwd=c0N2bVV1aTh2VzltckdXSitaZXBKQT09)<br>
|[Data Protection](wg-data-protection/README.md)|[data-protection](https://github.com/kubernetes/kubernetes/labels/wg%2Fdata-protection)|* Apps<br>* Storage<br>|* [Xing Yang](https://github.com/xing-yang), VMware<br>* [Xiangqian Yu](https://github.com/yuxiangqian), Google<br>|* [Slack](https://kubernetes.slack.com/messages/wg-data-protection)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-data-protection)|* Regular WG Meeting: [Wednesdays at 9:00 PT (Pacific Time) (bi-weekly)](https://zoom.us/j/6933410772)<br>
|[Device Management](wg-device-management/README.md)|[device-management](https://github.com/kubernetes/kubernetes/labels/wg%2Fdevice-management)|* Architecture<br>* Autoscaling<br>* Network<br>* Node<br>* Scheduling<br>|* [John Belamaric](https://github.com/johnbelamaric), Google<br>* [Kevin Klues](https://github.com/klueska), NVIDIA<br>* [Patrick Ohly](https://github.com/pohly), Intel<br>|* [Slack](https://kubernetes.slack.com/messages/wg-device-management)<br>* [Mailing List](https://groups.google.com/a/kubernetes.io/g/wg-device-management)|* Regular WG Meeting: [Tuesdays at 8:30 PT (Pacific Time) (biweekly)](TBD)<br>
|[etcd Operator](wg-etcd-operator/README.md)|[etcd-operator](https://github.com/kubernetes/kubernetes/labels/wg%2Fetcd-operator)|* Cluster Lifecycle<br>* etcd<br>|* [Benjamin Wang](https://github.com/ahrtr), VMware<br>* [Ciprian Hacman](https://github.com/hakman), Microsoft<br>* [Josh Berkus](https://github.com/jberkus), Red Hat<br>* [James Blair](https://github.com/jmhbnz), Red Hat<br>* [Justin Santa Barbara](https://github.com/justinsb), Google<br>|* [Slack](https://kubernetes.slack.com/messages/wg-etcd-operator)<br>* [Mailing List](https://groups.google.com/u/1/g/etcd-dev)|* Regular WG Meeting: [TBDs at TBD PT (Pacific Time) (bi-weekly)](https://zoom.us/my/cncfetcdproject)<br>
Copy link
Member

@kvaps kvaps Jul 18, 2024

Choose a reason for hiding this comment

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

At our etcd-operator We usually have weekly community meetings every Tuesday at 16:00-17:00 CET, it is 7:00-8:00 am PT, so I would like to suggest the same time if it will be convenient to you.

Suggested change
|[etcd Operator](wg-etcd-operator/README.md)|[etcd-operator](https://github.com/kubernetes/kubernetes/labels/wg%2Fetcd-operator)|* Cluster Lifecycle<br>* etcd<br>|* [Benjamin Wang](https://github.com/ahrtr), VMware<br>* [Ciprian Hacman](https://github.com/hakman), Microsoft<br>* [Josh Berkus](https://github.com/jberkus), Red Hat<br>* [James Blair](https://github.com/jmhbnz), Red Hat<br>* [Justin Santa Barbara](https://github.com/justinsb), Google<br>|* [Slack](https://kubernetes.slack.com/messages/wg-etcd-operator)<br>* [Mailing List](https://groups.google.com/u/1/g/etcd-dev)|* Regular WG Meeting: [TBDs at TBD PT (Pacific Time) (bi-weekly)](https://zoom.us/my/cncfetcdproject)<br>
|[etcd Operator](wg-etcd-operator/README.md)|[etcd-operator](https://github.com/kubernetes/kubernetes/labels/wg%2Fetcd-operator)|* Cluster Lifecycle<br>* etcd<br>|* [Benjamin Wang](https://github.com/ahrtr), VMware<br>* [Ciprian Hacman](https://github.com/hakman), Microsoft<br>* [Josh Berkus](https://github.com/jberkus), Red Hat<br>* [James Blair](https://github.com/jmhbnz), Red Hat<br>* [Justin Santa Barbara](https://github.com/justinsb), Google<br>|* [Slack](https://kubernetes.slack.com/messages/wg-etcd-operator)<br>* [Mailing List](https://groups.google.com/u/1/g/etcd-dev)|* Regular WG Meeting: [Tuesdays at 7:00 PT (Pacific Time) (weekly)](https://zoom.us/my/cncfetcdproject)<br>

Copy link
Member Author

Choose a reason for hiding this comment

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

We will finalize the schedule later (after this PR gets merged).

|[LTS](wg-lts/README.md)|[lts](https://github.com/kubernetes/kubernetes/labels/wg%2Flts)|* Architecture<br>* Cluster Lifecycle<br>* K8s Infra<br>* Release<br>* Security<br>* Testing<br>|* [Jeremy Rickard](https://github.com/jeremyrickard), Microsoft<br>* [Jordan Liggitt](https://github.com/liggitt), Google<br>* [Micah Hausler](https://github.com/micahhausler), Amazon<br>|* [Slack](https://kubernetes.slack.com/messages/wg-lts)<br>* [Mailing List](https://groups.google.com/a/kubernetes.io/g/wg-lts)|* Regular WG Meeting: [Tuesdays at 07:00 PT (Pacific Time) (biweekly)](https://zoom.us/j/92480197536?pwd=dmtSMGJRQmNYYTIyZkFlQ25JRngrdz09)<br>
|[Policy](wg-policy/README.md)|[policy](https://github.com/kubernetes/kubernetes/labels/wg%2Fpolicy)|* Architecture<br>* Auth<br>* Multicluster<br>* Network<br>* Node<br>* Scheduling<br>* Storage<br>|* [Jim Bugwadia](https://github.com/JimBugwadia), Kyverno/Nirmata<br>* [Poonam Lamba](https://github.com/poonam-lamba), Google<br>* [Andy Suderman](https://github.com/sudermanjr), Fairwinds<br>|* [Slack](https://kubernetes.slack.com/messages/wg-policy)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-policy)|* Regular WG Meeting: [Wednesdays at 8:00 PT (Pacific Time) (semimonthly)](https://zoom.us/j/7375677271)<br>
|[Serving](wg-serving/README.md)|[serving](https://github.com/kubernetes/kubernetes/labels/wg%2Fserving)|* Apps<br>* Architecture<br>* Autoscaling<br>* Instrumentation<br>* Network<br>* Node<br>* Scheduling<br>* Storage<br>|* [Eduardo Arango](https://github.com/ArangoGutierrez), NVIDIA<br>* [Jiaxin Shan](https://github.com/Jeffwan), Bytedance<br>* [Sergey Kanzhelev](https://github.com/SergeyKanzhelev), Google<br>* [Yuan Tang](https://github.com/terrytangyuan), Red Hat<br>|* [Slack](https://kubernetes.slack.com/messages/wg-serving)<br>* [Mailing List](https://groups.google.com/a/kubernetes.io/g/wg-serving)|* WG Serving Weekly Meeting ([Calendar](https://calendar.google.com/calendar/embed?src=e896b769743f3877edfab2d4c6a14132b2aa53287021e9bbf113cab676da54ba%40group.calendar.google.com)): [Wednesdays at 9:00 PT (Pacific Time) (weekly)](https://zoom.us/j/92615874244?pwd=VGhxZlJjRTNRWTZIS0dQV2MrZUJ5dz09)<br>
Expand Down
50 changes: 49 additions & 1 deletion sigs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1683,7 +1683,7 @@ sigs:
tech_leads:
- github: ahrtr
name: Benjamin Wang
company: VMWare
company: VMware
- github: serathius
name: Marek Siarkowicz
company: Google
Expand Down Expand Up @@ -3351,6 +3351,54 @@ workinggroups:
liaison:
github: pohly
name: Patrick Ohly
- dir: wg-etcd-operator
name: etcd Operator
mission_statement: >
The working group is dedicated to enabling automatic and efficient operation of
etcd clusters in Kubernetes using an etcd-operator. The working group will discuss
the requirement and use cases of such an etcd-operator. It will also try to create
a roadmap to develop such an etcd-operator.

Note: the etcd clusters, to be managed by the etcd-operator, are to support applications
instead of Kubernetes itself.

charter_link: charter.md
stakeholder_sigs:
- Cluster Lifecycle
- etcd
label: etcd-operator
leadership:
chairs:
- github: ahrtr
name: Benjamin Wang
company: VMware
- github: hakman
name: Ciprian Hacman
company: Microsoft
- github: jberkus
name: Josh Berkus
company: Red Hat
- github: jmhbnz
name: James Blair
company: Red Hat
- github: justinsb
name: Justin Santa Barbara
company: Google
meetings:
- description: Regular WG Meeting
day: TBD
time: TBD
tz: PT (Pacific Time)
frequency: bi-weekly
url: https://zoom.us/my/cncfetcdproject
archive_url: TBD
recordings_url: TBD
contact:
slack: wg-etcd-operator
Copy link
Member Author

Choose a reason for hiding this comment

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

@jberkus can we have a new slack channel or reuse sig-etcd?

Copy link
Member

Choose a reason for hiding this comment

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

up to sig etcd to decide if it would be too noisy. new channel seems better to me

Copy link
Member

Choose a reason for hiding this comment

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

IIUC, all these non existing bits like recording URL and slack can be left TBD or empty and filed later

Copy link
Member Author

Choose a reason for hiding this comment

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

Applied "TBD", thx

Copy link
Contributor

Choose a reason for hiding this comment

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

we can create a new slack channel if we want.

Copy link
Member Author

Choose a reason for hiding this comment

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

yes, please.

Copy link
Contributor

Choose a reason for hiding this comment

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

so we'll get the channel once Steering approves the new WG.

The channel name will be #wg-etcd-operator

mailing_list: https://groups.google.com/u/1/g/etcd-dev
liaison:
github: soltysh
name: Maciej Szulik
- dir: wg-lts
name: LTS
mission_statement: >
Expand Down
41 changes: 41 additions & 0 deletions wg-etcd-operator/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<!---
This is an autogenerated file!

Please do not edit this file directly, but instead make changes to the
sigs.yaml file in the project root.

To understand how this file is generated, see https://git.k8s.io/community/generator/README.md
--->
# etcd Operator Working Group

The working group is dedicated to enabling automatic and efficient operation of etcd clusters in Kubernetes using an etcd-operator. The working group will discuss the requirement and use cases of such an etcd-operator. It will also try to create a roadmap to develop such an etcd-operator.
Note: the etcd clusters, to be managed by the etcd-operator, are to support applications instead of Kubernetes itself.

The [charter](charter.md) defines the scope and governance of the etcd Operator Working Group.

## Stakeholder SIGs
* [SIG Cluster Lifecycle](/sig-cluster-lifecycle)
* [SIG etcd](/sig-etcd)

## Meetings
*Joining the [mailing list](https://groups.google.com/u/1/g/etcd-dev) for the group will typically add invites for the following meetings to your calendar.*
* Regular WG Meeting: [TBDs at TBD PT (Pacific Time)](https://zoom.us/my/cncfetcdproject) (bi-weekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=TBD&tz=PT%20%28Pacific%20Time%29).
* [Meeting notes and Agenda](TBD).
* [Meeting recordings](TBD).

## Organizers

* Benjamin Wang (**[@ahrtr](https://github.com/ahrtr)**), VMware
* Ciprian Hacman (**[@hakman](https://github.com/hakman)**), Microsoft
* Josh Berkus (**[@jberkus](https://github.com/jberkus)**), Red Hat
* James Blair (**[@jmhbnz](https://github.com/jmhbnz)**), Red Hat
* Justin Santa Barbara (**[@justinsb](https://github.com/justinsb)**), Google

## Contact
- Slack: [#wg-etcd-operator](https://kubernetes.slack.com/messages/wg-etcd-operator)
- [Mailing list](https://groups.google.com/u/1/g/etcd-dev)
- [Open Community Issues/PRs](https://github.com/kubernetes/community/labels/wg%2Fetcd-operator)
- Steering Committee Liaison: Maciej Szulik (**[@soltysh](https://github.com/soltysh)**)
<!-- BEGIN CUSTOM CONTENT -->

<!-- END CUSTOM CONTENT -->
59 changes: 59 additions & 0 deletions wg-etcd-operator/charter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# WG etcd operator

This charter adheres to the conventions described in the [Kubernetes Charter README]
and uses the Roles and Organization Management outlined in [sig-governance].

[sig-governance]: https://github.com/kubernetes/community/blob/master/committee-steering/governance/sig-governance.md
[Kubernetes Charter README]: https://github.com/kubernetes/community/blob/master/committee-steering/governance/README.md

## Scope

The purpose of an etcd-operator is to operate automatically etcd clusters which run in the Kubernetes environment.
ahrtr marked this conversation as resolved.
Show resolved Hide resolved
ahrtr marked this conversation as resolved.
Show resolved Hide resolved
It minimizes human intervention as much as possible. Note it excludes the case of etcd backing Kubernetes cluster;
instead, etcd runs as POD as normal workloads.

### In Scope

- Collect requirements & use cases with a [survey](https://forms.gle/5gBpzaxYtuQPWdBo9) to better understand what users care about the most.
- Prioritize the tasks based on feedback and create a roadmap.
- Bootstrap a project "etcd-operator" owned by SIG etcd which resides in the etcd-io or kubernetes-sigs Github orgs.
- Review existing etcd operators to see if any could be forked or referenced to advance the project.
- Discuss and design the core reconciliation workflow, and potentially provide a proof of concept (PoC).
- Figure out how to get resource for following dev/test, i.e. AWS S3.
ahrtr marked this conversation as resolved.
Show resolved Hide resolved

### Out of scope

- Manage etcd clusters running within non-Kubernetes environments.
- Manage etcd clusters which are used as the storage backend of a host (non-nested) kube-apiserver.

## Stakeholders

Stakeholders for this working group include members in the following SIGs:

- SIG etcd
- SIG Cluster Lifecycle

## Deliverables

The artifacts the group is supposed to deliver include:
- Survey results which describe the users requirements and use cases.
ahrtr marked this conversation as resolved.
Show resolved Hide resolved
- Evaluation results on existing etcd-operators.
- Roadmap for the project etcd-operator.
- Core reconciliation workflow and PoC.
- A new repository "etcd-operator" owned by SIG etcd, and it should have implemented the very basic functionalities below:
- Creation of a new etcd cluster with one or multiple members.
- Scale out and in the etcd cluster.
- Upgrading patch versions or one minor version.

## Roles and Organization Management

This working group adheres to the Roles and Organization Management outlined in
[sig-governance] and opts-in to updates and modifications to [sig-governance].

[sig-governance]: https://github.com/kubernetes/community/blob/master/committee-steering/governance/sig-governance.md

## Timelines and Disbanding

When all the deliverables mentioned above are done and there is no additional coordination needed,
then we will disband this working group and continue to track the development of the project
under SIG etcd.