CONVENTIONS: require stripped binaries for DaemonSets, recommend for all#2021
CONVENTIONS: require stripped binaries for DaemonSets, recommend for all#2021sdodson wants to merge 2 commits into
Conversation
DaemonSet images are pulled to every node, so binary size has an outsized impact on disk usage, pull times, and upgrade duration. Add a convention requiring stripped binaries (go build -ldflags '-s -w') for DaemonSets and recommending it for all other components, with details on what stripping does and does not affect (pprof, stack traces, debuggers, core dumps). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
DaemonSets that gate NodeReady (SDN/CNI, kube-proxy) are directly delayed by oversized images. Other DaemonSets contend for disk I/O and network bandwidth during pulls, further slowing bootstrapping. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@sdodson: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
Content here seems good as a conventions update, did you want to clarify anything around the implementation side of this/get specific buy in before merging? /lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: JoelSpeed The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Summary
go build -ldflags '-s -w')Motivation
There is no existing guidance in the repo about stripping binaries. Given the direct impact on node disk usage, image pull times, and upgrade duration — especially for DaemonSets deployed to every node — this should be codified as a convention.
Discussion
Opened for discussion at the next architecture call.
Test plan
🤖 Generated with Claude Code