Replies: 2 comments 2 replies
-
|
I am in favor of (1) this make it a non-breaking change for most scenarios and give folks using the defaults an improvement in expereince. I think it is important to note that since containerd 1.4 (now not supported I think) the default sandbox image has the pause image. The third options would be a breaking change only if the user overwrote the default sandbox image with a custom image that wasn't based on the pause image. |
Beta Was this translation helpful? Give feedback.
-
|
Fix considered for resolving this issue is as follows: Check if entrypoint is the same as the default entrypoint for nanoserver and servercore images which is "c:\windows\system32\cmd.exe". Please note, that with this approach we override with ping.exe ONLY if the entrypoint of image is same as the default for nanoserver and servercore images, which is "c:\windows\system32\cmd.exe". If a new pause image is built with nanoserver/servercore as the base image and a different entrypoint such as "cmd.exe" or "windows/system32/cmd.exe" etc are used, then this fix could breaking as we will not be overriding with ping.exe PR for this: microsoft/hcsshim#1615 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Issue:
Windows process isolated pods always run ping.exe and this seems to have a negative impact on perf.
Related github issue:
microsoft/hcsshim#1576
Background and root cause:
In the past few weeks, we have observed some negative perf impacts being reported while using windows pause images. This is because createPod() always runs ping.exe for pause containers in windows process isolated cases.
In the days prior to having an official pause image, windows pause containers used nanoserver as their base pause image. The default entrypoint for nanoserver image is 'cmd /c' and this command exited immediately. Therefore, we had to make a change to override the pause images's entrypoint to something that never exited and chose to use ping to achieve this. (Another pro of using ping.exe is that it is available on every version of windows).
However, running ping continuously has shown to have a negative perf impact. We have been looking into a few approaches to address this and would like recommendations from the community regarding this.
Check if entrypoint set for the base image is just 'cmd /c' and if so, override the entrypoint to use ping.exe like today.
Provide an hcsshim config option that lets customers choose if they want to override their base image command with ping.exe or not.
Remove the code block that overrides the base image command with ping.exe altogether. This approach would be a breaking change for those customers (if any) who still rely on using the non-default pause image for pause containers. We would like to roll out a fix for this in release/1.6 branch itself so we aren’t sure if introducing a breaking change in a minor version would be ok with the community or not.
Beta Was this translation helpful? Give feedback.
All reactions