~/talk

Building Kubernetes [a Go binary] with Bazel

Talkat BazelCon 2017 · 2017-11-06..11-07· [go, kubernetes]
links:none on file
slides:none on file

Describes converting Kubernetes’ messy make + shell release pipeline into Bazel-driven builds that produce Go binaries, per-architecture Docker images and release tarballs. Uses Gazelle/Gazel to generate BUILD files, rules_go and a custom cross-build image to hermetically compile many platforms, and a Go-based archiver that cuts tar creation from minutes to ~35 seconds. Achieves near-parity for builds and CI speedups (some tests drop from ~6 minutes to ~30 seconds) but still struggles with generated-code workflows, stamping, macOS quirks and some tar/path semantics.

AI-written summary · about

  1. 0:00Introduction
  2. 1:02Kubernetes build challenges
  3. 8:27Go build limits
  4. 14:36Kubernetes build inputs and outputs
  5. 20:19Legacy Make scripts
  6. 25:17Generated code pain
  7. 27:02Adopting Bazel
  8. 30:31Release tarballs to Bazel
  9. 34:23Bazel tar rule quirks
  10. 36:27Optimizing tarballs and tests
  11. 38:31Generated code in Bazel
  12. 41:41Version stamping and Docker
  13. 43:06Current challenges
  14. 44:52CI and cross-platform
  15. 45:14Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.