sealerio/sealer
sealerio/sealer has 2,090 GitHub stars and 357 forks. GitHot measured 0 stars in 24 hours and 0 in 7 days. Last checked 2026-11-07 21:48 UTC. Last push 2025-06-03.
Build, Share and Run Both Your Kubernetes Cluster and Distributed Applications (Project under CNCF)
What you can do
- Simplicity: Packing the distributed application into ClusterImage with few instructions.
- Efficiency: Launching the k8s-based application through ClusterImage in minutes.
- Scalability: Powerful cluster and image life cycle management, such as cluster scale, upgrade, image load, save and so on.
- Compatibility: Multi-arch delivery Supporting. Such as AMD, ARM with common Linux distributions.
Measured star growth
- in 24h
- 0
- in 7 days
- 0
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalSealer -- Build, Share and Run Any Distributed Applications
Contents
Introduction
Sealer[ˈsiːlər] provides a new way of distributed application delivery which is reducing the difficulty and complexity by packaging Kubernetes cluster and all application's dependencies into one ClusterImage.
We can write a Kubefile to build the ClusterImage, and use it to deliver your applications with embedded Kubernetes through Clusterfile.

Concept
- Kubefile: a file that describes how to build a ClusterImage.
- ClusterImage: like docker image, and it contains all the dependencies(container images,yaml files or helm chart...) of your application needed.
- Clusterfile: a file that describes how to run a ClusterImage.

Awesome features
- Simplicity: Packing the distributed application into ClusterImage with few instructions.
- Efficiency: Launching the k8s-based application through ClusterImage in minutes.
- Scalability: Powerful cluster and image life cycle management, such as cluster scale, upgrade, image load, save and so on.
- Compatibility: Multi-arch delivery Supporting. Such as AMD, ARM with common Linux distributions.
- Iterative: Incremental operations on ClusterImage is like what container image behaves.
Quick start
Download sealer binary file.
#install Sealer binaries
wget https://github.com/sealerio/sealer/releases/download/v0.9.3/sealer-v0.9.3-linux-amd64.tar.gz && \
tar zxvf sealer-v0.9.3-linux-amd64.tar.gz && mv sealer /usr/bin
Install a kubernetes cluster
# run a kubernetes cluster
sealer run docker.io/sealerio/kubernetes:v1-22-15-sealerio-2 \
--masters 192.168.0.2,192.168.0.3,192.168.0.4 \
--nodes 192.168.0.5,192.168.0.6,192.168.0.7 --passwd xxx
Build an sealer image
Kubefile:
FROM docker.io/sealerio/kubernetes:v1-22-15-sealerio-2
APP mysql https://charts/mysql.tgz
APP elasticsearch https://charts/elasticsearch.tgz
APP redis local://redis.yaml
APP businessApp local://install.sh
LAUNCH ["calico", "mysql", "elasticsearch", "redis", "businessApp"]
or
FROM docker.io/sealerio/kubernetes:v1-22-15-sealerio-2
COPY mysql.tgz .
COPY elasticsearch.tgz .
COPY redis.yaml .
COPY install.sh .
CMDS ["sh application/apps/calico/calico.sh", "helm install mysql.tgz", "helm install elasticsearch.tgz", "kubectl apply -f redis.yaml", "bash install.sh"]
build command:
NOTE: --type=kube-installer is the default value for sealer build
sealer build -f Kubefile -t my-kubernetes:1.0.0 .
Build an app image
nginx.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx
namespace: default
spec:
replicas: 1
selector:
matchLabels:
run: my-nginx
template:
metadata:
labels:
run: my-nginx
spec:
containers:
- name: my-nginx
image: nginx
ports:
- containerPort: 80
Kubefile:
FROM scratch
APP nginx local://nginx.yaml
LAUNCH ["nginx"]
sealer build -f Kubefile -t sealer-io/nginx:latest --type app-installer
Run the app image
sealer run sealer-io/nginx:latest
# check the pod
kubectl get pod -A
Push the app image to the registry
# you can push the app image to docker hub, Ali ACR, or Harbor
sealer tag sealer-io/nginx:latest {registryDomain}/sealer-io/nginx:latest
sealer push {registryDomain}/sealer-io/nginx:latest
Clean the cluster
Some information of the basic settings will be written to the Clusterfile and stored in /root/.sealer/Clusterfile.
sealer delete -a
User guide
Sealer provides a valid image list:
| version | image | Arch | OS | Network plugins | container runtime |
|---|---|---|---|---|---|
| v0.8.6 | registry.cn-qingdao.aliyuncs.com/sealer-io/kubernetes:v1.22.15-0.8.6 | x86 | CentOS/RHEL 7.5 CentOS/RHEL 7.6 CentOS/RHEL 7.7 CentOS/RHEL 7.8 CentOS/RHEL 7.9 Ubuntu 20.04 |
calico | hack docker v19.03.14 |
| v0.9.3 | docker.io/sealerio/kubernetes:v1-18-3-sealerio-2 | x86/arm64 | CentOS/RHEL 7.5 CentOS/RHEL 7.6 CentOS/RHEL 7.7 CentOS/RHEL 7.8 CentOS/RHEL 7.9 Ubuntu 20.04 |
calico | hack docker v19.03.14 |
| v0.9.3 | docker.io/sealerio/kubernetes:v1-20-4-sealerio-2 | x86/arm64 | CentOS/RHEL 7.5 CentOS/RHEL 7.6 CentOS/RHEL 7.7 CentOS/RHEL 7.8 CentOS/RHEL 7.9 Ubuntu 20.04 |
calico | hack docker v19.03.14 |
| v0.9.3 | docker.io/sealerio/kubernetes:v1-22-15-sealerio-2 | x86/arm64 | CentOS/RHEL 7.5 CentOS/RHEL 7.6 CentOS/RHEL 7.7 CentOS/RHEL 7.8 CentOS/RHEL 7.9 Ubuntu 20.04 |
calico | hack docker v19.03.14 |
Official website
Developing Sealer
Communication Channels
- CNCF Mailing List: to be added.
- Twitter: @sealer
- DingTalk Group Number: 34619594
Code of Conduct
sealer follows the CNCF Code of Conduct.
License
Sealer is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,963 starspublic-apis/public-apis
A collective list of free APIs
497,225 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
442,786 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,185 stars