Skip to content

Commit 8fe94b5

Browse files
committed
KEP-3542: update README.md
1 parent f920a3c commit 8fe94b5

File tree

1 file changed

+20
-1
lines changed
  • keps/sig-node/3542-cri-image-pulling-with-progress-notification

1 file changed

+20
-1
lines changed

keps/sig-node/3542-cri-image-pulling-with-progress-notification/README.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,9 @@ Intention of this KEP's CRI extension is to provide not-so-frequent updates for
340340
a minute), while having a possibility to have more-frequent updates for cli tools (e.g. once a
341341
second).
342342

343+
Documentation should be updated to reflect new FeatureGates, Kubelet config options, and performance
344+
overhead for reporting progress from image pulls.
345+
343346
Runtime can be such that does not support image pull progress reporting. In this case fallback to
344347
regular image pulling call should happen on client side (kubelet, cli tool, other entities
345348
requesting image to be pulled from runtime).
@@ -873,8 +876,24 @@ Describe them, providing:
873876

874877
###### Will enabling / using this feature result in increasing time taken by any operations covered by existing SLIs/SLOs?
875878

876-
Should not.
879+
Using the no-progress timeout will shorten the time to fail when the target image cannot be downloaded and no
880+
explicit network error is in place (when actual network error is in place, there's hardly any delay until failure).
881+
882+
By default, for K8s 1.27 Kubelet pulls images sequentially, in this default configuration the
883+
amount of gRPC messages between runtime and Kubelet will increase by up to `1 per second`.
884+
885+
The same amount of API calls from Kubelet to API-server to deliver the Pod event will increase, but
886+
per Node, meaning total API-server load will increase by `(1 x number of worker nodes) per second`.
887+
888+
Starting from [1.27 feature of `serializeImagePulls` is available](https://kubernetes.io/docs/concepts/containers/images/#maximum-parallel-image-pulls)
889+
890+
> if `serializeImagePulls is set to False, the Kubelet defaults to no limit on the maximum number of images being pulled at the same time...
891+
892+
If `maxParallelImagePulls` is not set to a positive number, the Kubelet will not limit the number
893+
of parallel images pulled at one time, so the maximum number images pulled will become equal to
894+
the maximum number of containers per cluster, [which is 300 000](https://kubernetes.io/docs/setup/best-practices/cluster-large/)?
877895

896+
More realistic figures and simulation can be done later.
878897
<!--
879898
Look at the [existing SLIs/SLOs].
880899

0 commit comments

Comments
 (0)