github.com/alibaba/sealer@v0.8.6-0.20220430115802-37a2bdaa8173/docs/site/src/zh/advanced/architecture.md (about) 1 # Architecture 2 3  4 5 Sealer has two top module: Build Engine & Apply Engine 6 7 The Build Engine Using Kubefile and build context as input, and build a CloudImage that contains all the dependencies. 8 The Apply Engine Using Clusterfile to init a cluster which contains kubernetes and other applications. 9 10 ## Build Engine 11 12 * Parser : parse Kubefile into image metadata 13 * Registry : push or pull the CloudImage 14 * Store : save CloudImage to local disks 15 16 ### Builders 17 18 * Lite Builder, sealer will check all the manifest or helm chart, decode docker images in those files, and cache them into CloudImage. 19 * Cloud Builder, sealer will create a Cluster using public cloud, and exec `RUN & CMD` command witch defined in Kubefile, then cache all the docker image in the Cluster. 20 * Container Builder, Using Docker container as a node, run kubernetes cluster in container then cache all the docker images. 21 22 ## Apply Engine 23 24 * Infra : manage infrastructure, like create VMs in public cloud then apply the cluster on top of it. Or using docker emulation nodes. 25 * Runtime : cluster installer implementation, like using kubeadm to install cluster. 26 * Config : application config, like mysql username passwd or other configs, you can use Config overwrite any file you want. 27 * Plugin : plugin help us do some extra work, like exec a shell command before install, or add a label to a node after install. 28 * Debug : help us check the cluster is healthy or not, find reason when things unexpected. 29 30 ## Other modules 31 32 * Filesystem : Copy CloudRootfs files to all nodes 33 * Mount : mount CloudImage all layers together 34 * Checker : do some pre-check and post check 35 * Command : a command proxy to do some tasks which os don't have the command. Like ipvs or cert manager. 36 * Guest : manage user application layer, like exec CMD command defined in Kubefile.