cncf / cluster

🖥🖥🖥🖥CNCF Community Cluster
https://cncf.io/cluster
152 stars 42 forks source link

Hardware for DevStats Kubernetes cluster #153

Closed lukaszgryglicki closed 3 years ago

lukaszgryglicki commented 3 years ago

First and Last Name

Łukasz Gryglicki

Email

lgryglicki@cncf.io

Company/Organization

CNCF

Job Title

Senior Software Developer

Project Title (i.e., summary of what do you want to do, not what is the name of the open source project you're working with)

DevStats - an open-source tool created at CNCF to track various contributors/community metrics of CNCF projects.

Briefly describe the project (i.e., what is the detail of what you're planning to do with these servers?)

I'm planning to use servers for DevStats deployment. Each of those servers will be used as a Kubernetes node. I'll deploy the Kubernetes v1.20 cluster using them (when Kubernetes v1.20 is out - planned around 6th of December 2020). I'm planning to swap the current setup using 4 Equinox nodes with Kubernetes v1.16 to this new setup - the main reason is running out of disk space and upgrading the Kubernetes cluster to the most up-to-date version. When the switchover is completed, the old servers will be de-provisioned and available for other projects.

Is the code that you’re going to run 100% open source? If so, what is the URL or URLs where it is located? What is your association with that project?

The code is 100% open-source, the URL is https://devstats.cncf.io, I'm the main developer and maintainer of this tool.

What kind of machines and how many do you expect to use (see: https://metal.equinix.com/product/servers/)?

As already agreed in the email conversation: 4x m3.large.x86 in SV15 data center.

What operating system and networking are you planning to use?

Ubuntu 20.04 LTS, out of the box networking - Kubernetes will use calico pod networking.

Any other relevant details we should know about?

This setup will run a patroni database (1 master - 3 slaves Postgres) on the attached storage, so storage needs to be quite fast (NVMe just like the current DevStats setup) and ideally, size should be >= 5TB.

lukaszgryglicki commented 3 years ago

cc @caniszczyk @idvoretskyi @pritianka

idvoretskyi commented 3 years ago

cc @vielmetti

vielmetti commented 3 years ago

Talked to @lukaszgryglicki about this last week and we're good on this - I think the best machine allotment is 4x m3 which have more fast disk than the current m1 based systems. Target dates are as expected. 👍 from us.

taylorwaggoner commented 3 years ago

@vielmetti @lukaszgryglicki do we need a new DevStats project to be created? I see we already have an active one in our account.

vielmetti commented 3 years ago

We don't need a new project - this will just be additional servers on the current project, with two sets of servers running for a bit and then once the work is completed the original systems turned back to the pool. @taylorwaggoner

lukaszgryglicki commented 3 years ago

Yes, exactly.

vielmetti commented 3 years ago

/label approved

@lukaszgryglicki - let me know your plans and timing on this, and if you need any assistance.

lukaszgryglicki commented 3 years ago

Planning is to wait for Kubernetes release v1.20.1 (to avoid v1.20.0), hopefully all other stuff will be also ready by then.

lukaszgryglicki commented 3 years ago

Hi, can I request this ASAP? I would start working next week. Thanks! cc @vielmetti @caniszczyk @idvoretskyi

vielmetti commented 3 years ago

@lukaszgryglicki this is approved - you can deploy the systems in question in SV15 as on-demand, and we can rework the reservations if needed once you are ready to move over permanently.

lukaszgryglicki commented 3 years ago

Oh OK, that's even better, I'll deploy tomorrow on Wednesday then and immediately start working on this. Thanks!

lukaszgryglicki commented 3 years ago

Just to be sure - can you point me to the exact location where should I reserve those servers, what exact names? Will they have those big NVMe volumes by default? Or any additional steps are needed? Wanted to have as many details as possible... Thanks a lot.

lukaszgryglicki commented 3 years ago

OK, deployed 4 server on-demand in SV15 - created 7.5T LVM volumes on each of them (LVM volume having 2 NVMe 3.8T disks) - will let you know when I move everything around so those servers would be converted to Reserved instances and previous 4 returned to Equinix pool...

lukaszgryglicki commented 3 years ago

OK, servers are switched, so the old ones can be deleted/reused by Equinix:

So please delete/recycle master.k8s.devstats.cncf.io, node-0.k8s.devstats.cncf.io, node-1.k8s.devstats.cncf.io, node-2.k8s.devstats.cncf.io all in the SJC1 region in the DevStats project.

For the new ones devstats-master, devstats-node-0, devstats-node-1, devstats-node-2 (all in SV15) please make them Reserved (they are currently On-Demand).

Thanks a lot for helping with this and have a great day!

lukaszgryglicki commented 3 years ago

cc @vielmetti

lukaszgryglicki commented 3 years ago

Hi, I see some of the servers already moved to the Reserved state, should I wait for all of them to move and drop the old ones? Or you will drop them? @vielmetti Thanks a lot for the help!

vielmetti commented 3 years ago

@lukaszgryglicki I've moved all of the reservations now, so if you drop the old servers we'll be good to go.

lukaszgryglicki commented 3 years ago

@vielmetti thanks, servers deleted.