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 binaries
wget https://github.com/sealerio/sealer/releases/download/v0.8.6/sealer-v0.8.6-linux-amd64.tar.gz && \
tar zxvf sealer-v0.8.6-linux-amd64.tar.gz && mv sealer /usr/bin
Build a ClusterImage with Kubernetes dashboard:
Kubefile:
# base ClusterImage contains all the files that run a kubernetes cluster needed.
# 1. kubernetes components like kubectl kubeadm kubelet and apiserver images ...
# 2. docker engine, and a private registry
# 3. config files, yaml, static files, scripts ...
FROM registry.cn-qingdao.aliyuncs.com/sealer-io/kubernetes:v1.19.8
# download kubernetes dashboard yaml file
RUN wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
# when run this ClusterImage, will apply a dashboard manifests
CMD kubectl apply -f recommended.yaml
Build it:
sealer build -t registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest .
Make it run:
# sealer will install a kubernetes on host 192.168.0.2 then apply the dashboard manifests
sealer run registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest --masters 192.168.0.2 --passwd xxx
# check the pod
kubectl get pod -A|grep dashboard
Push the ClusterImage to the registry
# you can push the ClusterImage to docker hub, Ali ACR, or Harbor
sealer push registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest
- CNCF Mailing List: to be added.
- Twitter: @sealer
- DingTalk Group Number: 34619594
sealer follows the CNCF Code of Conduct.
Sealer is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.