- Notifications
You must be signed in to change notification settings - Fork361
Build, Share and Run Both Your Kubernetes Cluster and Distributed Applications (Project under CNCF)
License
sealerio/sealer
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
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.
- 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.
Download sealer binary file.
#install Sealer binarieswget 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
# run a kubernetes clustersealer 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 xxxKubefile:
FROM docker.io/sealerio/kubernetes:v1-22-15-sealerio-2APP mysql https://charts/mysql.tgzAPP elasticsearch https://charts/elasticsearch.tgzAPP redis local://redis.yamlAPP businessApp local://install.shLAUNCH ["calico","mysql","elasticsearch","redis","businessApp"]
or
FROM docker.io/sealerio/kubernetes:v1-22-15-sealerio-2COPY 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.nginx.yaml:
apiVersion: apps/v1kind: Deploymentmetadata: name: my-nginx namespace: defaultspec: 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 scratchAPP nginx local://nginx.yamlLAUNCH ["nginx"]sealer build -f Kubefile -t sealer-io/nginx:latest --type app-installer
sealer run sealer-io/nginx:latest# check the podkubectl get pod -A# you can push the app image to docker hub, Ali ACR, or Harborsealer tag sealer-io/nginx:latest {registryDomain}/sealer-io/nginx:latestsealer push {registryDomain}/sealer-io/nginx:latestSome information of the basic settings will be written to the Clusterfile and stored in /root/.sealer/Clusterfile.
sealer delete -a
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 |
- CNCF Mailing List: to be added.
- Twitter:@sealer
- DingTalk Group Number: 34619594
sealer follows theCNCF Code of Conduct.
Sealer is licensed under the Apache License, Version 2.0. SeeLICENSE for the full license text.
About
Build, Share and Run Both Your Kubernetes Cluster and Distributed Applications (Project under CNCF)
Topics
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.

