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
@@ -32,7 +31,7 @@ and it will pull *container image Foo* from the registry. This is the intended
32
31
behavior.
33
32
34
33
But now things get curious. If *Pod B* in *Namespace Y* happens to also be scheduled to *Node 1*, unexpected (and potentially insecure) things happen. *Pod B* may reference the same private image, specifying the `IfNotPresent` image pull policy. *Pod B* does not reference *Secret 1*
35
-
(or in our case, any secret) in it's`imagePullSecrets`. When the Kubelet tries to run the pod, it honors the `IfNotPresent` policy. The Kubelet sees that the *image Foo* is already present locally, and will provide *image Foo* to *Pod B*. *Pod B* gets to run the image even though it did not provide credentials authorizing it to pull the image in the first place.
34
+
(or in our case, any secret) in its`imagePullSecrets`. When the Kubelet tries to run the pod, it honors the `IfNotPresent` policy. The Kubelet sees that the *image Foo* is already present locally, and will provide *image Foo* to *Pod B*. *Pod B* gets to run the image even though it did not provide credentials authorizing it to pull the image in the first place.
36
35
37
36
{{< figure
38
37
src="ensure_secret_image_pulls.svg"
@@ -47,7 +46,7 @@ authorized to pull the image in the first place.
47
46
48
47
## IfNotPresent, but only if I am supposed to have it
49
48
50
-
In Kubernetes v1.33, we - SIG Auth and SIG Node - are finally addressing this (really old) problem and getting the verification right! The basic expected behavior is not changed. If
49
+
In Kubernetes v1.33, we - SIG Auth and SIG Node - have finally started to address this (really old) problem and getting the verification right! The basic expected behavior is not changed. If
51
50
an image is not present, the Kubelet will attempt to pull the image. The credentials each pod supplies will be utilized for this task. This matches behavior prior to 1.33.
52
51
53
52
If the image is present, then the behavior of the Kubelet changes. The Kubelet will now
0 commit comments