Offline deployment with sealer images finds missing images!
What happen?
I packaged an image using Kubefile,imported the image into my offline environment and used cluserfile run ,and found that the openebs/linux-utils:3.4.0 image was not found in k8s.
Relevant log output?
openebs/linux-utils:3.4.0 image was not found

What you expected to happen?
sealer has packed all the images into images, so there should not be any missing images.
How to reproduce it (as minimally and precisely as possible)?
Kubefile:
FROM docker.io/sealerio/kubernetes:v1-22-15-sealerio-2
APP localpv local://localpv.yaml
APP metric local://metrics-server.yaml
APP kafka local://kafka-manifest.yaml
APP redis local://redis-manifest.yaml
APP mysql local://mysql.yaml
LAUNCH ["calico","metric","localpv","kafka","redis","mysql"]
Clusterfile
Version: sealer.cloud/v2
kind: Cluster
metadata:
name: my-cluster
spec:
hosts:
- ips: [192.168.100.***,192.168.100.***,192.168.100.***]
roles: [master]
taints: [node-role.kubernetes.io/master:NoSchedule-]
- ips: [192.168.100.***,192.168.100.***,192.168.100.***]
roles: [node]
image: localhost/xxxx:v1.0
ssh:
passwd: xxxx
Anything else we need to know?
No response
What is the version of Sealer you using?
v0.9.2
What is your OS environment?
Red Hat Enterprise Linux release 8.7 (Ootpa)
What is the Kernel version?
Linux BEA-AP01 4.18.0-425.3.1.el8.x86_64 #1 SMP Fri Sep 30 11:45:06 EDT 2022 x86_64 x86_64 x86_64 GNU/Linux
Other environment you want to tell us?
- Cloud provider or hardware configuration:
- Install tools:
- Others:
Could you please make it clear in which file the image openebs/linux-utils:3.4.0 is defined and how is it defined?
It is possible that the corresponding image does not conform to the resolution rules, so it is not scanned out, please refer to https://github.com/sealerio/sealer/blob/main/build/buildimage/differ.go#L163-L212
https://github.com/sealerio/sealer/blob/main/build/layerutils/utils.go#L25-L57
In addition, you can use the --image-list to specify an image that has not been scanned manually.
sealer build -h
build command is used to generate a sealer image from specified Kubefile.
It organizes the specified Kubefile and input building context, and builds
a brand new sealer image.
Usage:
sealer build [flags] PATH
Examples:
the current path is the context path, default build type is lite and use build cache
build:
sealer build -f Kubefile -t my-kubernetes:1.22.15
build without cache:
sealer build -f Kubefile -t my-kubernetes:1.22.15 --no-cache
build with args:
sealer build -f Kubefile -t my-kubernetes:1.22.15 --build-arg MY_ARG=abc,PASSWORD=Sealer123
build with image type:
sealer build -f Kubefile -t my-kubernetes:1.22.15 --type=app-installer
sealer build -f Kubefile -t my-kubernetes:1.22.15 --type=kube-installer(default)
app-installer type image will not install kubernetes.
build multi-platform image:
sealer build -f Kubefile -t my-kubernetes:1.22.15 --platform linux/amd64,linux/arm64
build manually ignore image:
sealer build -f Kubefile -t my-kubernetes:1.22.15 --ignored-image-list ignoredListPath
Flags:
--annotation strings add annotations for image. Format like --annotation key=[value]
--build-arg strings set custom build args
-f, --file string Kubefile filepath (default "Kubefile")
-h, --help help for build
--ignored-image-list pathname pathname of ignored image list filepath, if set, sealer will read its contents and prevent downloading of the corresponding container image (default "filepath")
--image-list pathname pathname of imageList filepath, if set, sealer will read its content and download extra container (default "filepath")
--image-list-with-auth pathname pathname of imageListWithAuth.yaml filepath, if set, sealer will read its content and download extra container images to rootfs(not usually used)
https://user-images.githubusercontent.com/5857762/232470634-9ebb1811-e5d3-481c-b3ef-866d6140cb08.png
@sunshinejdq According to the config in the screenshot, it makes sense that the image was not scanned.
The keyword image: is needed, for more details please refer to https://github.com/sealerio/sealer/blob/main/build/layerutils/utils.go#L25-L57
I user this https://github.com/sealerio/applications/blob/main/openebs/localpv/localpv-operator.yaml
