You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: keps/sig-node/3542-cri-image-pulling-with-progress-notification/README.md
+20-1Lines changed: 20 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -340,6 +340,9 @@ Intention of this KEP's CRI extension is to provide not-so-frequent updates for
340
340
a minute), while having a possibility to have more-frequent updates for cli tools (e.g. once a
341
341
second).
342
342
343
+
Documentation should be updated to reflect new FeatureGates, Kubelet config options, and performance
344
+
overhead for reporting progress from image pulls.
345
+
343
346
Runtime can be such that does not support image pull progress reporting. In this case fallback to
344
347
regular image pulling call should happen on client side (kubelet, cli tool, other entities
345
348
requesting image to be pulled from runtime).
@@ -873,8 +876,24 @@ Describe them, providing:
873
876
874
877
###### Will enabling / using this feature result in increasing time taken by any operations covered by existing SLIs/SLOs?
875
878
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/)?
877
895
896
+
More realistic figures and simulation can be done later.
0 commit comments