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

x/build: move to modern VPC network and Autopilot GKE cluster #48408

Closed
heschi opened this issue Sep 15, 2021 · 9 comments
Closed

x/build: move to modern VPC network and Autopilot GKE cluster #48408

heschi opened this issue Sep 15, 2021 · 9 comments
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@heschi
Copy link
Contributor

heschi commented Sep 15, 2021

Now that we've moved to Workload Identity, I want to remove the node filter attributes. Since I'm going to be touching every service to do that, this is a good opportunity to try to modernize our infrastructure. We're using a "Legacy" network; modern networks are more featureful. We can't migrate a Kubernetes cluster, so we have to make a new one, which is an opportunity to move to an Autopilot cluster.

This tracks the full yak shave.

@gopherbot gopherbot added the Builders x/build issues (builders, bots, dashboards) label Sep 15, 2021
@gopherbot gopherbot added this to the Unreleased milestone Sep 15, 2021
@gopherbot
Copy link

Change https://golang.org/cl/350137 mentions this issue: cmd/xb,buildenv: move to new Kubernetes cluster

@gopherbot
Copy link

Change https://golang.org/cl/350113 mentions this issue: cmd/gcpinit: delete

@gopherbot
Copy link

Change https://golang.org/cl/350140 mentions this issue: http/h2demo: remove node selector

@cagedmantis cagedmantis added the NeedsFix The path to resolution is known, but the work has not been done. label Sep 15, 2021
@gopherbot
Copy link

Change https://golang.org/cl/350114 mentions this issue: all: remove node selector

gopherbot pushed a commit to golang/build that referenced this issue Sep 15, 2021
Our makefiles install xb from the repository, so this has to be checked
in before I do anything else, and nobody else should deploy anything
until I'm done.

Because the new cluster is an Autopilot cluster, it lives in a region
(us-central1) and that's what you pass to the kubectl command, etc.
Move Region/Zone into the individual KubeConfigs and use the correct
ones as appropriate.

For golang/go#48408.

Change-Id: Iceacfe68305a3744aa87ce0fef777b977a252586
Reviewed-on: https://go-review.googlesource.com/c/build/+/350137
Trust: Heschi Kreinick <heschi@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
gopherbot pushed a commit to golang/build that referenced this issue Sep 15, 2021
I noticed some unused-looking fields in the Environment type. gcpinit
looks dead to me, so delete it. Correct me if I'm wrong.

For golang/go#48408.

Change-Id: Ie0732177ada8c291f2bddc1b64a6b242a521d5bc
Reviewed-on: https://go-review.googlesource.com/c/build/+/350113
Trust: Heschi Kreinick <heschi@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
gopherbot pushed a commit to golang/build that referenced this issue Sep 15, 2021
For golang/go#48408.

Change-Id: I5709cb4278d8c754508d9f4bf76849592b6f9855
Reviewed-on: https://go-review.googlesource.com/c/build/+/350114
Trust: Heschi Kreinick <heschi@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
@dmitshur dmitshur added this to In Progress in Go Release Team Sep 15, 2021
gopherbot pushed a commit to golang/net that referenced this issue Sep 16, 2021
For golang/go#48408.

Change-Id: I11f4c4ed317b06297e22c98b98ab529e15f7bd2f
Reviewed-on: https://go-review.googlesource.com/c/net/+/350140
Trust: Heschi Kreinick <heschi@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
@gopherbot
Copy link

Change https://golang.org/cl/350754 mentions this issue: cmd/coordinator: modernize Kubernetes access

@gopherbot
Copy link

Change https://golang.org/cl/350753 mentions this issue: all: update resource requests

@gopherbot
Copy link

Change https://golang.org/cl/350790 mentions this issue: cmd/coordinator: switch to new clusters and network.

gopherbot pushed a commit to golang/build that referenced this issue Sep 17, 2021
The new "services" cluster is stricter about resource requirements. I'm
not sure exactly why but I don't think it matters. Set ones that work.

In particular, anything that uses maintner needs a bunch of disk and
ram.

For golang/go#48408.

Change-Id: I5eacd22eb6ae177bd82faedb83b3489fafa98811
Reviewed-on: https://go-review.googlesource.com/c/build/+/350753
Trust: Heschi Kreinick <heschi@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
gopherbot pushed a commit to golang/build that referenced this issue Sep 17, 2021
Turns out that to query for a regional Kubernetes cluster you need to
use a different API. Require an explicit location to create a client and
use that new API.

Also, modern Kubernetes clusters won't have client cert auth enabled.
Use OAuth instead.

Finally, don't require that the buildlets cluster be in the same zone as
the coordinator.

For golang/go#48408.

Change-Id: Ic3f9525b9bffa89d779e684c8ea1be116d3f983f
Reviewed-on: https://go-review.googlesource.com/c/build/+/350754
Trust: Heschi Kreinick <heschi@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
gopherbot pushed a commit to golang/build that referenced this issue Sep 21, 2021
For golang/go#48408.

Change-Id: I375daab69d97eefae00e5f9ef3eac88fc2f5e8b8
Reviewed-on: https://go-review.googlesource.com/c/build/+/350790
Trust: Heschi Kreinick <heschi@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
@heschi
Copy link
Contributor Author

heschi commented Sep 30, 2021

Deleted the old GKE clusters and moved everything off the legacy network. I'll delete that next week.

@heschi heschi closed this as completed Oct 4, 2021
Go Release Team automation moved this from In Progress to Done Oct 4, 2021
@gopherbot
Copy link

Change https://go.dev/cl/383814 mentions this issue: devapp: update Dockerfile and README

gopherbot pushed a commit to golang/build that referenced this issue Feb 7, 2022
Start using the latest stable version of Go and Debian, fix LABEL
syntax, replace brittle docker build speed optimization (see past
CLs like CL 360838, CL 349091 for more detailed motivation).

Update deployment instructions in README.md. We use the 'services'
cluster in the us-central1 region now.

Updates golang/go#48408.

Change-Id: I0901c4f62dfbe37ad78f0ba6928b3eb0eefc4e3a
Reviewed-on: https://go-review.googlesource.com/c/build/+/383814
Trust: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
dteh pushed a commit to dteh/fhttp that referenced this issue Jun 22, 2022
For golang/go#48408.

Change-Id: I11f4c4ed317b06297e22c98b98ab529e15f7bd2f
Reviewed-on: https://go-review.googlesource.com/c/net/+/350140
Trust: Heschi Kreinick <heschi@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
@golang golang locked and limited conversation to collaborators Feb 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Projects
Archived in project
Development

No branches or pull requests

3 participants