Commit Graph

958 Commits

Author SHA1 Message Date
Jefftree
2e01fbb59a Add discovery types 2022-10-19 17:27:25 +00:00
Benjamin Elder
db9c760ee7 remove clearly unnecessary lingering BUILD file references 2022-10-04 16:47:25 -07:00
Tim Hockin
7afaf23b01
Copy make's codegen logic to update-codegen.sh
The `make` rules which auto-generate some of our API stuff are
incredibly baroque, and hard to maintain.  They were originally added on
the assumption that we would stop checking generated files into git.
Since then we have moved away from that goal, and the worst problems
with generated files have been resolved.

Reasons to kill this:
* It is slow on every build, as opposed to just being slow when running
  the generators.  It is even slow to calculate that there's nothing to
  update.
* Most development work doesn't involve changing APIs.
* It only covers about half (or less) of the generated code, and making
  it cover more would be even slower.
* Approximately 1 person knows how this all works.
* We have CI to make sure changes do not get merged without updating
  this code.
* We have corner cases where this does the WRONG thing and tracking
  those down is ugly and hard in perpetuity.

So this commit puts all the same logic that WAS in the
Makefile.generated_files into update-codegen.sh.

I do not love this script, especially WRT sub-packages, but I am trying
not to boil the ocean.  I hope to follow up with some more cleanups over
time.

I have tested this manually and with the scripts and it still seems to
catch errors properly.

This includes a change to kube::util::read-array to make it not unset
variables and not over-write non-array variables.
2022-10-04 08:48:39 -07:00
Kubernetes Prow Robot
9720af2ba3
Merge pull request #112306 from tkashem/v1beta3
add v1beta3 for Priority And Fairness
2022-10-03 10:06:14 -07:00
Kubernetes Prow Robot
dfa4143086
Merge pull request #112724 from dims/update-instructions-to-install-cfssl
Update instructions to install cfssl
2022-09-26 09:20:38 -07:00
Davanum Srinivas
5fd6b0a980
Update instructions to install cfssl
Use the newer "go install" variant as we are above go 1.18

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-09-25 15:53:02 -04:00
Davanum Srinivas
866ef3c46e
run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-09-24 13:27:13 -04:00
Abu Kashem
e1a764d635
apiserver: enable v1beta3 for apf 2022-09-21 18:54:19 -04:00
Davanum Srinivas
0f6b9b883c
etcd: Updated to v3.5.5
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-09-15 21:05:13 -04:00
m.nabokikh
00dfba473b Add auth API to get self subject attributes
Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>
2022-09-14 18:00:26 +02:00
Kubernetes Prow Robot
759785ea14
Merge pull request #109090 from sarveshr7/multicidr-rangeallocator
Enhance NodeIPAM to support multiple ClusterCIDRs
2022-08-07 15:40:18 -07:00
Sarvesh Rangnekar
7093b10416 Introduce networking/v1alpha1 api, ClusterCIDR type
Introduce networking/v1alpha1 api group.

Add `ClusterCIDR` type to networking/v1alpha1 api group, this type
will enable the NodeIPAM controller to support multiple ClusterCIDRs.
2022-08-05 00:54:00 +00:00
Davanum Srinivas
a2408f39c7
[golang] Fix things commented out in 1.19rc2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-08-04 10:27:09 -04:00
Davanum Srinivas
1380fc5e7b
Avoid hard coding Operating System and Architecture in hack/lib/etcd.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-08-01 15:33:13 -04:00
Davanum Srinivas
4784b58e17
golang: Update to 1.19rc2 from 1.18.3
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-07-26 13:14:05 -04:00
Kubernetes Prow Robot
a0fe0d6b37
Merge pull request #111131 from thockin/coverage-handle-relative-paths
Make coverage handle relative-path pkgs
2022-07-15 02:26:25 -07:00
Kubernetes Prow Robot
7e2c02d4c8
Merge pull request #111133 from thockin/comment-build_binaries_for_platform
Add comment on build_binaries_for_platform
2022-07-14 16:26:47 -07:00
Kubernetes Prow Robot
08117cdd76
Merge pull request #111132 from thockin/remove-unused-platform-envs-func
Remove unused `unset_platform_envs` func
2022-07-14 16:26:36 -07:00
Tim Hockin
8461a645d6 Add comment on build_binaries_for_platform 2022-07-13 20:33:32 -07:00
Tim Hockin
4b8e3a0b54 Remove unused unset_platform_envs func 2022-07-13 20:33:24 -07:00
Tim Hockin
15cab6d085 Make coverage handle relative-path pkgs 2022-07-13 20:33:12 -07:00
Tim Hockin
0863919807 Add comments around go install 2022-07-13 20:33:03 -07:00
Kubernetes Prow Robot
9cf41a6766
Merge pull request #110899 from HecarimV/update-doc-220701
Remove invalid comments in hack/lib/version.sh
2022-07-08 18:03:46 -07:00
Patrick Ohly
f7427d07e0 build: add ginkgo aliases for WHAT
The alias for vendor/github.com/onsi/ginkgo/ginkgo ensures that code like
30e99cb2a9/experiment/kind-conformance-image-e2e.sh (L110)
continues to work. The one without "vendor/" is there just in case that it
was used because it also worked.

Long term, "ginkgo" is a nicer, version independent alias. It gets used
internally to avoid future churn and gets documented also publicly in the
Makefile help.

The caveat is that there's no guarantee that a future v3 CLI will be compatible
with current invocations. But the most common usage is through
hack/ginkgo-e2e.sh, which can deal with such differences.
2022-07-08 10:46:11 +08:00
Dave Chen
375b2a5fb2 Build Ginkgo binary
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-07-08 10:46:11 +08:00
HaoJie Liu
4990214c6f
Remove invalid comments in hack/lib/version.sh
Signed-off-by: HaoJie Liu <liuhaojie@beyondcent.com>
2022-07-06 19:19:29 +08:00
Hemant Kumar
86cd654371 We need to all all=-N -l because some objects are being optimzied away
Without all=-N -l, some objects are being optimized away and
impossible to debug
2022-06-13 14:31:37 -04:00
Hemant Kumar
bfe34ab224 Disable trimpath in debug mode
This allows remote debugging with debuggers like vscode and Goland
2022-06-12 07:53:18 -04:00
Kubernetes Prow Robot
2d7dcf928c
Merge pull request #109594 from linux-on-ibm-z/fastbuild_s390x
Add fast build support for s390x
2022-06-05 23:42:23 -07:00
Manish Kumar
e9e8be304c etcd: Updated to v3.5.4 2022-06-01 07:52:46 +05:30
Jordan Liggitt
6cdaecfe0a Build in hermetic module mode 2022-05-05 08:47:33 -04:00
Jordan Liggitt
2a10ca650d drop vendor from test targets 2022-05-05 08:47:33 -04:00
Jordan Liggitt
39f5c13510 drop vendor from go install paths 2022-05-05 08:47:33 -04:00
vitt-bagal
969ddfbd72 Add fast build support for s390x 2022-04-21 01:47:26 -07:00
Jordan Liggitt
f97bc825d5 Update min golang version to 1.18.1 2022-04-14 09:53:20 -04:00
Stephen Augustus
3f85937b11
etcd: Update to v3.5.3
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2022-04-13 19:04:00 -04:00
James Laverack
7d57d5c70d Revert "Introduce APIs to support multiple ClusterCIDRs (#108290)"
This reverts commit b9792a9dae.
2022-04-13 13:58:19 +01:00
Sarvesh Rangnekar
b9792a9dae
Introduce APIs to support multiple ClusterCIDRs (#108290)
* Introduce networking/v1alpha1 api, ClusterCIDRConfig type

Introduce networking/v1alpha1 api group.

Add `ClusterCIDRConfig` type to networking/v1alpha1 api group, this type
will enable the NodeIPAM controller to support multiple ClusterCIDRs.

* Change ClusterCIDRConfig.NodeSelector type in api

* Fix review comments for API

* Update ClusterCIDRConfig API Spec

Introduce PerNodeHostBits field, remove PerNodeMaskSize
2022-03-30 19:39:00 -07:00
Davanum Srinivas
b1fa9e2deb
Turn down log level for etcd
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-03-27 15:21:28 -04:00
Katrina Verey
af059a0731
Colorize string test helper results 2022-03-24 13:31:57 -04:00
Kir Kolyshkin
d8fdb00b34 Fix verify: generated-stable-metrics wrt go 1.18
This should fix the following error when running
./hack/update-generated-stable-metrics.sh:

	'go get' is no longer supported outside a module.
	To build and install a command, use 'go install' with a version,
	like 'go install example.com/cmd@latest'
	For more information, see https://golang.org/doc/go-get-install-deprecation
	or run 'go help get' or 'go help install'.

Using `go get` to download gopkg.in/yaml.v2 package into
KUBE_EXTRA_GOPATH directory no longer works. Interestingly, main repo
already has gopkg.in/yaml.v2@v2.4.0, same version that was installed by
that go get.

I guess that GOPATH with multiple elements no longer works either,
and since this code was the only user of KUBE_EXTRA_GOPATH, let's remove
it as well.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2022-03-23 10:19:59 -07:00
Davanum Srinivas
d8f1da5ecb
golang: Update to 1.18 from 1.18rc1
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-03-22 09:47:35 -04:00
Tim Hockin
bf27cad256 Build flags: use all= syntax
This has somewhat subtle implications.  For a concrete example, this
changes the `-trimpath` behavior from only affecting the named pkg to
affecting all pkgs, which broke ginkgo, which seems to try to strip its
own `pwd` prefix.  But since that runs in run-in-gopath, and not in
KUBE_ROOT, it fails to strip anything.

e.g.

before this, strings in the binary would be like
    /home/user/kube/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/onsi/ginkgo/...
Ginkgo would find its own root as
    /home/user/kube/_output/local/go/src/k8s.io/kubernetes/
so it would produce
    vendor/github.com/onsi/ginkgo/...
in logs.

after this, strings in the binary strip the KUBE_ROOT and be like:
    _output/local/go/src/k8s.io/kubernetes/vendor/github.com/onsi/ginkgo/...
Ginkgo would find its own root as
    /home/user/kube/_output/local/go/src/k8s.io/kubernetes/
so it would not strip anything, and produce
    _output/local/go/src/k8s.io/kubernetes/vendor/github.com/onsi/ginkgo/...
in logs.
2022-03-01 08:48:31 -08:00
Tim Hockin
ed5e549cde Makefile: Add a DBG flag to build debug binaries
Now `make DBG=1` will produce binaries with no optimizaions and no
inlining, but with symbols and DWARF information.
2022-03-01 08:47:34 -08:00
Tim Hockin
4a0c6c2444 Slightly nicer output when building
before:

```
$ make generated_files
+++ [0226 13:42:17] Building go targets for linux/amd64:
    hack/make-rules/helpers/go2make
> non-static build: k8s.io/kubernetes/hack/make-rules/helpers/go2make
```

after:

```
$ make generated_files
+++ [0226 14:30:08] Building go targets for linux/amd64
    k8s.io/kubernetes/hack/make-rules/helpers/go2make (non-static)
```
2022-02-27 10:29:59 -08:00
Kubernetes Prow Robot
21c0f6f6ff
Merge pull request #107677 from pohly/scheduler-integration-benchmark
scheduler integration benchmark improvements
2022-02-14 01:23:28 -08:00
Patrick Ohly
535d885c29 test: fix info message for etcd startup
The output redirection in the info message did not match the actual
invocation (stdout and stderr swapped).
2022-02-07 08:59:19 +01:00
Patrick Ohly
259a8ad0b7 test: allow controlling etcd log level
When running an integration test that measures performance, like for example
test/integration/scheduler_perf, running etcd with debug level output is
undesirable because it creates additional load on the system and isn't
realistic.

The default is still "debug", but ETCD_LOGLEVEL=warn can be used to override
that.
2022-02-07 08:59:19 +01:00
Kubernetes Prow Robot
6dd234d85c
Merge pull request #107386 from ZeusPerez/fix-kubetest-errors-when-executing-local-provider
Fix kubetest errors when executing local provider
2022-01-31 19:56:17 -08:00
ZeusPerez
ddec2a9125 Apply changes requested in the pull-kubernetes-verify failed check 2022-01-20 17:25:52 +01:00
Patrick Ohly
798bdab3d0 kubectl: add integration test for result reporting
This currently covers two cases:
- "kubectl list" (the regression from https://github.com/kubernetes/kubernetes/issues/107012)
- "kubectl get pods/no-such-pod" (no particular reason except that the output
should be deterministic)

In contrast to some other tests that check for strings inside the
output (run_deprecated_api_tests) or compare after
sorting (run_kubectl_version_tests), stdout, stderr and the return code must
match exactly.

This ensures that there is no extra, unexpected output and that the right
output stream is used.
2022-01-11 09:04:56 +01:00
ZeusPerez
5d52b4ef9a Add PATH when looking for executable locations 2022-01-06 19:03:47 +01:00
Kubernetes Prow Robot
1c127d3682
Merge pull request #105706 from uthark/oatamanenko/upgrade-etcd-3.5.1
Upgrade etcd to 3.5.1
2021-11-15 10:04:59 -08:00
Kubernetes Prow Robot
da73a24f6a
Merge pull request #106123 from pohly/log-go-runner-windows
package log runner as part of Kubernetes releases
2021-11-15 09:04:48 -08:00
Kubernetes Prow Robot
0abc054933
Merge pull request #106190 from MikeSpreitzer/integration-scrape-etcd
Add periodic etcd scraping to integration tests
2021-11-09 15:30:38 -08:00
Kubernetes Prow Robot
8e02b78873
Merge pull request #102534 from wangyysde/create-hpav2stable
Create HPA v2 Stable API
2021-11-09 10:27:48 -08:00
Kubernetes Prow Robot
3ae56ab320
Merge pull request #106174 from markusthoemmes/buildx-check
Make the docker buildx check call --help
2021-11-09 04:31:46 -08:00
wangyysde
d2abddd909 rename v2beta2 to v2
Signed-off-by: wangyysde <net_use@bzhy.com>

Generation swagger.json.

Use v2 path for hpa_cpu_field.

run update-codegen.sh

Signed-off-by: wangyysde <net_use@bzhy.com>
2021-11-09 10:34:54 +08:00
Mike Spreitzer
4ca4ccdcc2 Add serving of scrapes as Prometheus metrics 2021-11-08 15:28:05 -05:00
Mike Spreitzer
dc07025470 Add periodic etcd scraping to integration tests
.. to help understand where and why things go bad.
2021-11-05 21:32:58 -04:00
Markus Thömmes
671cd6c606 Make the docker buildx check call --help 2021-11-05 09:49:07 +01:00
Patrick Ohly
c3cd9a3902 kubemark: static binary, replace deprecated --log-file parameter
The --log-file parameter will be deprecated as of Kubernetes 1.23 and should be
avoided. The replacement for distroless images is the image with go-runner, a
tool that handles output redirection.

For kubemark to run in that image it must be built as static binary.
2021-11-04 20:52:56 +01:00
Patrick Ohly
d2a8a81639 Package kube-log-runner as part of Kubernetes releases
kube-log-runner was formerly known as go-runner when it was originally introduced
in 393e0952e9
It was moved to kubernetes/release/images/build/go-runner later but is now
needed again in Kubernetes itself as replacement for the deprecated --log-file
klog feature: when bringing up a Windows node, kube-proxy.exe and kubelet.exe must be wrapped
with the helper binary to redirect output.

It got renamed to avoid a naming conflict with
test/conformance/image/go-runner and because the name was too vague.

Other downstream Kubernetes users may have a similar need, therefore it makes
sense to provide a prebuilt binary also in the release archives.
2021-11-04 10:00:26 +01:00
Oleg Atamanenko
965f10f539 Upgrade etcd to 3.5.1 2021-10-18 23:09:27 -07:00
Kubernetes Prow Robot
a7c67c03ff
Merge pull request #105399 from mopsfelder/ppc64le
Allow fast builds on ppc64le
2021-10-11 22:21:46 -07:00
Kubernetes Prow Robot
f31453fe5b
Merge pull request #104894 from pacoxu/windows-arm
add windows arm support on client-side since go 1.17 supports
2021-10-04 04:19:07 -07:00
Murilo Opsfelder Araujo
1589605a7c Allow fast builds on ppc64le
On a ppc64le host, fast build was failing:

    # make KUBE_FASTBUILD=true quick-release
    +++ [0908 15:56:36] Verifying Prerequisites....
    +++ [0908 15:56:36] Building Docker image kube-build:build-fd009aaa81-5-v1.23.0-go1.17-buster.0
    +++ [0908 15:56:44] Syncing sources to container
    +++ [0908 15:56:48] Running build command...
    +++ [0908 15:56:56] Building go targets for linux/ppc64le:
        ./vendor/k8s.io/code-generator/cmd/prerelease-lifecycle-gen
    > non-static build: k8s.io/kubernetes/./vendor/k8s.io/code-generator/cmd/prerelease-lifecycle-gen
    touch: cannot touch '_output/bin/prerelease-lifecycle-gen': No such file or directory
    make[2]: *** [Makefile.generated_files:209: _output/bin/prerelease-lifecycle-gen] Error 1
    make[1]: *** [Makefile:552: generated_files] Error 2
    make: *** [Makefile:512: cross] Error 1
    !!! [0908 15:56:58] Call tree:
    !!! [0908 15:56:58]  1: build/../build/common.sh:476 kube::build::run_build_command_ex(...)
    !!! [0908 15:56:58]  2: build/release.sh:36 kube::build::run_build_command(...)
    make: *** [Makefile:454: quick-release] Error 1

This error happened because the _output/bin/ directory didn't exist at
the moment the file _output/bin/prerelease-lifecycle-gen was touched, so
the path didn't exist.

The _output/bin symlink was not created by kube::golang::place_bins()
because kube::golang::setup_platforms() assumed
KUBE_CLIENT_PLATFORMS=linux/amd64 despite being on a ppc64le host.

Fix build error by not assuming host_arch=amd64 when on ppc64le in
kube::golang::setup_platforms().

Signed-off-by: Murilo Opsfelder Araujo <muriloo@linux.ibm.com>
2021-10-01 09:31:10 -03:00
Elana Hashman
132fa1cbf3
Revert "Build non-static binaries with PIE buildmode" 2021-09-29 11:36:20 -07:00
Paco Xu
9a2a4f1051 add windows arm support on client-side since go 1.17 supports 2021-09-10 15:42:45 +08:00
Abu Kashem
e2b8701545
apf: ebable v1beta2 2021-09-09 08:28:53 -04:00
Stephen Augustus
e8d2bff6ba
[go1.17] Update to go1.17
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2021-08-24 15:47:41 -04:00
Jordan Liggitt
a26f7f2b58 Add non-vendor version ldflags 2021-08-14 11:20:26 -04:00
Yaakov Selkowitz
67e14290aa Fix build with multiple GOFLAGS
The tag extraction from GOFLAGS doesn't do anything if -tags is not
present in GOFLAGS.  Not only does that mean non-sensical tags are
passed, but because GOFLAGS is a space-separated variable, the build
will fail because the build flags because -tags must be comma-separated.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2021-08-11 19:23:41 -04:00
Davanum Srinivas
f63dbd481f
Warn if docker buildx is not available
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-08-10 14:42:11 -04:00
Kubernetes Prow Robot
0427b17395
Merge pull request #104164 from dims/allow-override-of-cgo-enabled
Allow override of KUBE_CGO_OVERRIDES (for switching on/off of `CGO_ENABLED`)
2021-08-05 16:37:26 -07:00
Kubernetes Prow Robot
79c7584764
Merge pull request #103986 from GM1957/fix-scripts
fixing scripts from https://github.com/google/protobuf/releases to ht…
2021-08-05 08:17:59 -07:00
Davanum Srinivas
af2129b77d
Allow override of CGO_ENABLED=0
When building inside a docker container, we fail to pass along enough
information for KUBE_CGO_OVERRIDES. The original PR was geared towards
building the binary from the command line

- dca376a03e
- e4ded2b3ec

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-08-05 10:45:14 -04:00
Tanmoy Bhowmick
260b5ef155 fixing scripts from https://github.com/google/protobuf/releases to https://github.com/protocolbuffers/protobuf/releases 2021-07-29 02:24:39 +05:30
Jordan Liggitt
4115bef826 Update references to test/conformance/image 2021-07-23 11:26:54 -04:00
Marek Siarkowicz
ebe550bd48 Upgrade etcd to 3.5.0 2021-06-24 09:15:17 +02:00
Marek Siarkowicz
12447bc803 Upgrade etcd server version to 3.5.0-rc.0 2021-06-09 17:00:05 +02:00
Sascha Grunert
39d9e98a6f
Build non-static binaries with PIE buildmode
We now add the `-buildmode pie` flag when building non-static binaries,
which enables the ASLR security mechanism.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-05-27 14:51:36 +02:00
Kubernetes Prow Robot
1d2b1ed354
Merge pull request #101395 from tanjing2020/container_manager_test
no_proxy inherits the system settings to adapt to some special scenarios
2021-05-07 21:29:17 -07:00
tanjing2020
3890772bd6 no_proxy inherits the system settings to adapt to some special scenarios 2021-04-25 14:39:36 +08:00
Sascha Grunert
746ec78ebf
Stop unsetting the golang buildid
Golang fixed the issue with the non-reproducible buildid already in
v1.15.3:

c5f6920212
a3e965ce8a

This means we can now use the internal buildid instead of the unset one.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-04-23 10:21:00 +02:00
Katrina Verey
8ad6fd6ddb Add --chunk-size support to kubectl describe 2021-04-21 11:44:15 -07:00
Kubernetes Prow Robot
d62a9b2179
Merge pull request #99773 from saschagrunert/build-memory
Change KUBE_PARALLEL_BUILD_MEMORY to 20 GiB
2021-03-09 16:08:07 -08:00
Morten Torkildsen
21fba79d45 Promote PDBs to GA 2021-03-09 10:29:11 -05:00
Benjamin Elder
8f3cbc923a drop bazel logic from hack/lib/golang.sh 2021-03-07 13:11:29 -08:00
Benjamin Elder
03576473ce don't search bazel output paths for binaries 2021-03-07 12:47:00 -08:00
Kubernetes Prow Robot
90851a0fb5
Merge pull request #99905 from BenTheElder/shellchecked
update verify-shellcheck to v0.7.1, fix nits, multi-arch digest pinning, fix new lint errors
2021-03-06 22:17:53 -08:00
Benjamin Elder
a0cd54a7f1 fix trivial shell quoting issues surfaced by shellcheck v0.7.1 2021-03-06 13:19:17 -08:00
Swetha Repakula
a9891b4b9b Graduate EndpointSlice API to GA
* Removes discovery v1alpha1 API
  * Replaces per Endpoint Topology with a read only DeprecatedTopology
  in GA API
  * Adds per Endpoint Zone field in GA API
2021-03-05 12:02:41 -08:00
Kubernetes Prow Robot
2e39df89ac
Merge pull request #97743 from dims/support-m1-macbook-darwin/arm64-as-client
Support M1 MacBooks darwin/arm64 on the client-side
2021-03-04 04:18:09 -08:00
Sascha Grunert
abf85d70c2
Change KUBE_PARALLEL_BUILD_MEMORY to 20 GiB
A benchmark with go1.16 on amd64 resulted in an overall maximum memory
usage of 15GiB. This means we now lower the `KUBE_PARALLEL_BUILD_MEMORY`
to `20` to still have some room left.

The benchmark has been done with the following `Dockerfile`:

```dockerfile
FROM k8s.gcr.io/build-image/kube-cross:v1.16.0-1
RUN apt-get update && apt-get install -y time

WORKDIR /go/src/k8s.io/kubernetes
RUN git clone https://github.com/kubernetes/kubernetes
ENV KUBE_PARALLEL_BUILD_MEMORY=0
RUN /usr/bin/time -v make -C kubernetes cross-in-a-container
```

The value of interest from the output:

```
Maximum resident set size (kbytes): 1847108
```

The RSS is not the only value we have to consider. During the runtime I
measured the usage of the cached memory, which gets peaks up to 15GiB.

Test machine specs:
- CPU: 2 x Intel Scalable Gold 5120 28-Core Processor @ 2.2GHz
- RAM: 384GB
- Disk: 1 x 3.8TB NVME
- OS: Debian 10 (buster)

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-03-04 12:11:20 +01:00
Kubernetes Prow Robot
9658145f8a
Merge pull request #99655 from liggitt/min-go-version
Update go version check to 1.16+
2021-03-03 20:13:59 -08:00
Davanum Srinivas
f719624654
Support M1 MacBooks darwin/arm64 on the client-side
testing using:
```
build/run.sh make generated_files && make quick-release-images
```

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-03-02 20:50:00 -05:00
Kubernetes Prow Robot
28feb8e30d
Merge pull request #96882 from saschagrunert/parallel-build-configurable
Make parallel build memory threshold configurable
2021-03-02 16:51:19 -08:00
Jordan Liggitt
5e9189289e Update go version check to 1.16+ 2021-03-02 15:11:46 -05:00
Kubernetes Prow Robot
f79795d718
Merge pull request #99521 from dekkagaijin/build
Prevent CGO and STATIC_OVERRIDES from trampling themselves if evaluated multiple times
2021-03-02 01:23:31 -08:00