-
Notifications
You must be signed in to change notification settings - Fork 996
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CC | Issues about pulling image with vanilla containerd and remote-snapshotter #8407
Comments
Issue 1
Description of problemWhen we use the default snapshotter (overlayfs) to pull an image (such as a pause image) and create a container, and then we switch to another snapshotter (nydus-snapshotter) to pull the same image, we encounter an error::
and I checked the image (I replaced registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 with registry.k8s.io/pause:3.6 because of the network issue) :
Further informationThis issue has occurred in the CI tests. This problem is not caused by Kata or CoCo, but by containerd. There is an existing issue in the containerd repo that describes the same problem we are facing: containerd/containerd#8674 This error occurs because the image puller has an optimization that skips downloading the layer related to the pause image, if it is already unpacked as a snapshot in the default snapshotter (overlayfs). This optimization assumes that the layer digests are the same, but they may not be. This error does not happen with the overlayfs snapshotter, but it does with the nydus snapshotter, because the nydus snapshotter does not have the layer in its storage and cannot find it in the content store after the image was pulled by overlayfs. A possible way to solve the issue: containerd/containerd#8878. |
Related issue: #8337 |
Bad news is Support runtime level snapshotter is experimental-features in 1.7 as described in https://github.com/containerd/containerd/blob/main/RELEASES.md#experimental-features, good news is it's target supported features in 2.0. |
Issue 2 (NOT A BUG - PLEASE DISREGARD)
Description of the problemWhen we use the remote snapshotter with cloud-api-adaptor (a.k.a peer pods) on AWS EKS a simple pod does not get running, and the error Here is the samples messages seeing from
I can reproduce that problem on Kubernetes 1.26 and 1.28. The AWS EKS worker nodes are Amazon Linux 2 which comes with containerd 1.6. I managed to install the CoCo operator with |
@wainersm , I reproduce the problem in my local machine with runtime kata-qemu. That's my test pod yaml:
It seems that the
But when it is set to false, the error does not happen. Therefore, I suggest you check the value of |
Thank you! I'm seeing (some) success by adding Note: since containerd/containerd#4665 this has been implicitly set to |
After a more testing, I think we can say with some confidence that Issue 2 has been addressed by this PR for AKS, not sure about EKS |
On EKS it fixes the issue as well but then I hit another problem which is the lack of fuse on the node, which is not a bug at all. I will mark ** issue 2** as not a bug. Thank you so much @ChengyuZhu6 for the tip! |
@BbolroC I found a warning in the containerd log:
Could the error be attributed to a configuration issue with devmapper? BTW, could you attempt to enable the debug option in the config, allowing us to access more detailed logs? |
I've removed the issue I posted because it is an issue around UpdateI was using Ubuntu 22.04 for the runner where cgroupv2 is set by default. The issue has been gone when I switched the version to 1. Thanks! |
- add test cases for guest pull images - need revist after we use container2.0 with 'image pull per runtime class' feature for kata-containers#8337 and kata-containers#8407 Signed-off-by: Da Li Liu <liudali@cn.ibm.com>
- add test cases for guest pull images - need revist after we use container2.0 with 'image pull per runtime class' feature for kata-containers#8337 and kata-containers#8407 Signed-off-by: Da Li Liu <liudali@cn.ibm.com>
- add test cases for guest pull images - need revist after we use container2.0 with 'image pull per runtime class' feature for kata-containers#8337 and kata-containers#8407 Signed-off-by: Da Li Liu <liudali@cn.ibm.com>
- add test cases for guest pull images - need revist after we use container2.0 with 'image pull per runtime class' feature for kata-containers#8337 and kata-containers#8407 Signed-off-by: Da Li Liu <liudali@cn.ibm.com>
- add test cases for guest pull images - need revist after we use container2.0 with 'image pull per runtime class' feature for kata-containers#8337 and kata-containers#8407 Signed-off-by: Da Li Liu <liudali@cn.ibm.com>
- add test cases for guest pull images - need revist after we use container2.0 with 'image pull per runtime class' feature for kata-containers#8337 and kata-containers#8407 Signed-off-by: Da Li Liu <liudali@cn.ibm.com>
- add test cases for guest pull images - need revist after we use container2.0 with 'image pull per runtime class' feature for kata-containers#8337 and kata-containers#8407 Signed-off-by: Da Li Liu <liudali@cn.ibm.com>
- add test cases for guest pull images - need revist after we use container2.0 with 'image pull per runtime class' feature for kata-containers#8337 and kata-containers#8407 Signed-off-by: Da Li Liu <liudali@cn.ibm.com>
- add test cases for guest pull images - need revist after we use container2.0 with 'image pull per runtime class' feature for kata-containers#8337 and kata-containers#8407 Signed-off-by: Da Li Liu <liudali@cn.ibm.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
… on CI we are encountering the issue (kata-containers#8407) with containerd on CI is likely due to the content digest being missing from the content store, which can happen when switching between different snapshotters. To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace. Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
Issue 4
Description of problemIn guest-pull scenarios, we use the pause image that is pre-installed in the rootfs. However, in CI, the majority of cases involve running a normal pod that employs the default snapshotter (overlayfs) in containerd. This leads to the guest-pull tests using the pause image from the host, rather than the pause image pre-installed in the rootfs:
The issue arises from containerd recognizing that the contents of pause image, already stored on the host, has been loaded into the Content Store. Consequently, containerd uses the exited snapshots on the host and proceeds directly to container creation:
|
Bump nydus snapshotter to v0.13.13 to fix the gap when switching different snapshotters in guest pull. Fixes: kata-containers#8407 Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
This issue serves as a place to collect and discuss the current challenges of using vanilla containerd and remote-snapshotter in confidential-containers. If you have any related questions or are interested in this topic, please feel free to share them in this issue.
/cc @jiangliu @fidencio @stevenhorsman @fitzthum @BbolroC @huoqifeng
The text was updated successfully, but these errors were encountered: