Skip to content

Commit 8a3518b

Browse files
authored
Merge pull request #38316 from krol3/merged-main-dev-1.26-03
Merge main into dev-1.26 to keep in sync
2 parents 0ecc914 + 7cd85d1 commit 8a3518b

File tree

53 files changed

+1296
-1247
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1296
-1247
lines changed

Makefile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ CONTAINER_RUN = "$(CONTAINER_ENGINE)" run --rm --interactive --tty --volume
1414
CCRED=\033[0;31m
1515
CCEND=\033[0m
1616

17+
# Docker buildx related settings for multi-arch images
18+
DOCKER_BUILDX ?= docker buildx
19+
1720
.PHONY: all build build-preview help serve
1821

1922
help: ## Show this help.
@@ -74,6 +77,23 @@ container-image: ## Build a container image for the preview of the website
7477
container-push: container-image ## Push container image for the preview of the website
7578
$(CONTAINER_ENGINE) push $(CONTAINER_IMAGE)
7679

80+
PLATFORMS ?= linux/arm64,linux/amd64
81+
docker-push: ## Build a multi-architecture image and push that into the registry
82+
docker run --rm --privileged tonistiigi/binfmt:qemu-v6.2.0-26@sha256:5bf63a53ad6222538112b5ced0f1afb8509132773ea6dd3991a197464962854e --install all
83+
docker version
84+
$(DOCKER_BUILDX) version
85+
$(DOCKER_BUILDX) inspect image-builder > /dev/null 2>&1 || $(DOCKER_BUILDX) create --name image-builder --use
86+
# copy existing Dockerfile and insert --platform=${TARGETPLATFORM} into Dockerfile.cross, and preserve the original Dockerfile
87+
sed -e 's/\(^FROM\)/FROM --platform=\$$\{TARGETPLATFORM\}/' Dockerfile > Dockerfile.cross
88+
$(DOCKER_BUILDX) build \
89+
--push \
90+
--platform=$(PLATFORMS) \
91+
--build-arg HUGO_VERSION=$(HUGO_VERSION) \
92+
--tag $(CONTAINER_IMAGE) \
93+
-f Dockerfile.cross .
94+
$(DOCKER_BUILDX) stop image-builder
95+
rm Dockerfile.cross
96+
7797
container-build: module-check
7898
$(CONTAINER_RUN) --read-only --mount type=tmpfs,destination=/tmp,tmpfs-mode=01777 $(CONTAINER_IMAGE) sh -c "npm ci && hugo --minify --environment development"
7999

cloudbuild.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,28 @@
11
# See https://cloud.google.com/cloud-build/docs/build-config
22

33
# this must be specified in seconds. If omitted, defaults to 600s (10 mins)
4-
timeout: 1200s
4+
timeout: 9000s
55
# this prevents errors if you don't use both _GIT_TAG and _PULL_BASE_REF,
66
# or any new substitutions added in the future.
77
options:
88
substitution_option: ALLOW_LOOSE
9+
machineType: 'E2_HIGHCPU_8'
910
steps:
1011
# It's fine to bump the tag to a recent version, as needed
11-
- name: "gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20210917-12df099d55"
12+
- name: "gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20220830-45cbff55bc"
1213
entrypoint: 'bash'
1314
env:
1415
- DOCKER_CLI_EXPERIMENTAL=enabled
16+
- DOCKER_BUILDKIT=1
17+
- DOCKER_BUILDX=/root/.docker/cli-plugins/docker-buildx
1518
- TAG=$_GIT_TAG
1619
- BASE_REF=$_PULL_BASE_REF
1720
args:
1821
- -c
1922
- |
2023
gcloud auth configure-docker \
21-
&& make container-push
24+
&& apk add sed \
25+
&& make docker-push
2226
substitutions:
2327
# _GIT_TAG will be filled with a git-based tag for the image, of the form vYYYYMMDD-hash, and
2428
# can be used as a substitution

content/en/docs/concepts/cluster-administration/flow-control.md

Lines changed: 30 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -538,26 +538,15 @@ poorly-behaved workloads that may be harming system health.
538538
last window's high water mark of number of requests actively being
539539
served.
540540

541-
* `apiserver_flowcontrol_read_vs_write_request_count_samples` is a
542-
histogram vector of observations of the then-current number of
543-
requests, broken down by the labels `phase` (which takes on the
544-
values `waiting` and `executing`) and `request_kind` (which takes on
545-
the values `mutating` and `readOnly`). The observations are made
546-
periodically at a high rate. Each observed value is a ratio,
547-
between 0 and 1, of a number of requests divided by the
548-
corresponding limit on the number of requests (queue length limit
549-
for waiting and concurrency limit for executing).
550-
551-
* `apiserver_flowcontrol_read_vs_write_request_count_watermarks` is a
552-
histogram vector of high or low water marks of the number of
553-
requests (divided by the corresponding limit to get a ratio in the
554-
range 0 to 1) broken down by the labels `phase` (which takes on the
555-
values `waiting` and `executing`) and `request_kind` (which takes on
556-
the values `mutating` and `readOnly`); the label `mark` takes on
557-
values `high` and `low`. The water marks are accumulated over
558-
windows bounded by the times when an observation was added to
559-
`apiserver_flowcontrol_read_vs_write_request_count_samples`. These
560-
water marks show the range of values that occurred between samples.
541+
* `apiserver_flowcontrol_read_vs_write_current_requests` is a
542+
histogram vector of observations, made at the end of every
543+
nanosecond, of the number of requests broken down by the labels
544+
`phase` (which takes on the values `waiting` and `executing`) and
545+
`request_kind` (which takes on the values `mutating` and
546+
`readOnly`). Each observed value is a ratio, between 0 and 1, of a
547+
number of requests divided by the corresponding limit on the number
548+
of requests (queue volume limit for waiting and concurrency limit
549+
for executing).
561550

562551
* `apiserver_flowcontrol_current_inqueue_requests` is a gauge vector
563552
holding the instantaneous number of queued (not executing) requests,
@@ -572,52 +561,27 @@ poorly-behaved workloads that may be harming system health.
572561
holding the instantaneous number of occupied seats, broken down by
573562
the labels `priority_level` and `flow_schema`.
574563

575-
* `apiserver_flowcontrol_priority_level_request_count_samples` is a
576-
histogram vector of observations of the then-current number of
577-
requests broken down by the labels `phase` (which takes on the
578-
values `waiting` and `executing`) and `priority_level`. Each
579-
histogram gets observations taken periodically, up through the last
580-
activity of the relevant sort. The observations are made at a high
581-
rate. Each observed value is a ratio, between 0 and 1, of a number
582-
of requests divided by the corresponding limit on the number of
583-
requests (queue length limit for waiting and concurrency limit for
584-
executing).
585-
586-
* `apiserver_flowcontrol_priority_level_request_count_watermarks` is a
587-
histogram vector of high or low water marks of the number of
588-
requests (divided by the corresponding limit to get a ratio in the
589-
range 0 to 1) broken down by the labels `phase` (which takes on the
590-
values `waiting` and `executing`) and `priority_level`; the label
591-
`mark` takes on values `high` and `low`. The water marks are
592-
accumulated over windows bounded by the times when an observation
593-
was added to
594-
`apiserver_flowcontrol_priority_level_request_count_samples`. These
595-
water marks show the range of values that occurred between samples.
596-
597-
* `apiserver_flowcontrol_priority_level_seat_count_samples` is a
598-
histogram vector of observations of the utilization of a priority
599-
level's concurrency limit, broken down by `priority_level`. This
600-
utilization is the fraction (number of seats occupied) /
601-
(concurrency limit). This metric considers all stages of execution
602-
(both normal and the extra delay at the end of a write to cover for
603-
the corresponding notification work) of all requests except WATCHes;
604-
for those it considers only the initial stage that delivers
605-
notifications of pre-existing objects. Each histogram in the vector
606-
is also labeled with `phase: executing` (there is no seat limit for
607-
the waiting phase). Each histogram gets observations taken
608-
periodically, up through the last activity of the relevant sort.
609-
The observations
610-
are made at a high rate.
611-
612-
* `apiserver_flowcontrol_priority_level_seat_count_watermarks` is a
613-
histogram vector of high or low water marks of the utilization of a
614-
priority level's concurrency limit, broken down by `priority_level`
615-
and `mark` (which takes on values `high` and `low`). Each histogram
616-
in the vector is also labeled with `phase: executing` (there is no
617-
seat limit for the waiting phase). The water marks are accumulated
618-
over windows bounded by the times when an observation was added to
619-
`apiserver_flowcontrol_priority_level_seat_count_samples`. These
620-
water marks show the range of values that occurred between samples.
564+
* `apiserver_flowcontrol_priority_level_request_utilization` is a
565+
histogram vector of observations, made at the end of each
566+
nanosecond, of the number of requests broken down by the labels
567+
`phase` (which takes on the values `waiting` and `executing`) and
568+
`priority_level`. Each observed value is a ratio, between 0 and 1,
569+
of a number of requests divided by the corresponding limit on the
570+
number of requests (queue volume limit for waiting and concurrency
571+
limit for executing).
572+
573+
* `apiserver_flowcontrol_priority_level_seat_utilization` is a
574+
histogram vector of observations, made at the end of each
575+
nanosecond, of the utilization of a priority level's concurrency
576+
limit, broken down by `priority_level`. This utilization is the
577+
fraction (number of seats occupied) / (concurrency limit). This
578+
metric considers all stages of execution (both normal and the extra
579+
delay at the end of a write to cover for the corresponding
580+
notification work) of all requests except WATCHes; for those it
581+
considers only the initial stage that delivers notifications of
582+
pre-existing objects. Each histogram in the vector is also labeled
583+
with `phase: executing` (there is no seat limit for the waiting
584+
phase).
621585

622586
* `apiserver_flowcontrol_request_queue_length_after_enqueue` is a
623587
histogram vector of queue lengths for the queues, broken down by

content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ message ContainerDevices {
265265
```
266266
{{< note >}}
267267
cpu_ids in the `ContainerResources` in the `List` endpoint correspond to exclusive CPUs allocated
268-
to a partilar container. If the goal is to evaluate CPUs that belong to the shared pool, the `List`
268+
to a particular container. If the goal is to evaluate CPUs that belong to the shared pool, the `List`
269269
endpoint needs to be used in conjunction with the `GetAllocatableResources` endpoint as explained
270270
below:
271271
1. Call `GetAllocatableResources` to get a list of all the allocatable CPUs

content/en/docs/concepts/scheduling-eviction/kube-scheduler.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,12 @@ is the default scheduler for Kubernetes and runs as part of the
3232
kube-scheduler is designed so that, if you want and need to, you can
3333
write your own scheduling component and use that instead.
3434

35-
For every newly created pod or other unscheduled pods, kube-scheduler
36-
selects an optimal node for them to run on. However, every container in
37-
pods has different requirements for resources and every pod also has
38-
different requirements. Therefore, existing nodes need to be filtered
39-
according to the specific scheduling requirements.
35+
Kube-scheduler selects an optimal node to run newly created or not yet
36+
scheduled (unscheduled) pods. Since containers in pods - and pods themselves -
37+
can have different requirements, the scheduler filters out any nodes that
38+
don't meet a Pod's specific scheduling needs. Alternatively, the API lets
39+
you specify a node for a Pod when you create it, but this is unusual
40+
and is only done in special cases.
4041

4142
In a cluster, Nodes that meet the scheduling requirements for a Pod
4243
are called _feasible_ nodes. If none of the nodes are suitable, the pod

0 commit comments

Comments
 (0)