github.com/alibaba/sealer@v0.8.6-0.20220430115802-37a2bdaa8173/README.md (about) 1 # Sealer -- Build, Share and Run Any Distributed Applications 2 3 [![License](https://img.shields.io/badge/license-Apache%202-brightgreen.svg)](https://github.com/alibaba/sealer/blob/master/LICENSE) 4 [![Go](https://github.com/alibaba/sealer/actions/workflows/go.yml/badge.svg)](https://github.com/alibaba/sealer/actions/workflows/go.yml) 5 [![Release](https://github.com/alibaba/sealer/actions/workflows/release.yml/badge.svg)](https://github.com/alibaba/sealer/actions/workflows/release.yml) 6 [![GoDoc](https://godoc.org/github.com/alibaba/sealer?status.svg)](https://godoc.org/github.com/alibaba/sealer) 7 [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5205/badge)](https://bestpractices.coreinfrastructure.org/en/projects/5205) 8 [![Twitter](https://img.shields.io/badge/Follow-sealer-1DA1F2?logo=twitter)](https://twitter.com/sealer_oss) 9 10 [简体中文](./docs/README_zh.md) 11 12 ## Contents 13 14 * [Introduction](#introduction) 15 * [Quick Start](#quick-start) 16 * [Contributing](./CONTRIBUTING.md) 17 * [FAQ](./FAQ.md) 18 * [Adopters](./Adopters.md) 19 * [LICENSE](LICENSE) 20 21 ## Introduction 22 23 sealer[ˈsiːlər] provides the way for distributed application package and delivery based on kubernetes. 24 25 ![image](https://user-images.githubusercontent.com/8912557/117263291-b88b8700-ae84-11eb-8b46-838292e85c5c.png) 26 27 > Concept 28 29 * CloudImage : like Dockerimage, but the rootfs is kubernetes, and contains all the dependencies(docker images,yaml files or helm chart...) your application needs. 30 * Kubefile : the file describe how to build a CloudImage. 31 * Clusterfile : the config of using CloudImage to run a cluster. 32 33 ![image](https://user-images.githubusercontent.com/8912557/117400612-97cf3a00-af35-11eb-90b9-f5dc8e8117b5.png) 34 35 We can write a Kubefile, and build a CloudImage, then using a Clusterfile to run a cluster. 36 37 sealer[ˈsiːlər] provides the way for distributed application package and delivery based on kubernetes. 38 39 It solves the delivery problem of complex applications by packaging distributed applications and dependencies(like database,middleware) together. 40 41 For example, build a dashboard CloudImage: 42 43 Kubefile: 44 45 ```shell script 46 # base CloudImage contains all the files that run a kubernetes cluster needed. 47 # 1. kubernetes components like kubectl kubeadm kubelet and apiserver images ... 48 # 2. docker engine, and a private registry 49 # 3. config files, yaml, static files, scripts ... 50 FROM registry.cn-qingdao.aliyuncs.com/sealer-io/kubernetes:v1.19.8 51 # download kubernetes dashboard yaml file 52 RUN wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml 53 # when run this CloudImage, will apply a dashboard manifests 54 CMD kubectl apply -f recommended.yaml 55 ``` 56 57 Build dashobard CloudImage: 58 59 ```shell script 60 sealer build -t registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest . 61 ``` 62 63 Run a kubernetes cluster with dashboard: 64 65 ```shell script 66 # sealer will install a kubernetes on host 192.168.0.2 then apply the dashboard manifests 67 sealer run registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest --masters 192.168.0.2 --passwd xxx 68 # check the pod 69 kubectl get pod -A|grep dashboard 70 ``` 71 72 Push the CloudImage to the registry 73 74 ```shell script 75 # you can push the CloudImage to docker hub, Ali ACR, or Harbor 76 sealer push registry.cn-qingdao.aliyuncs.com/sealer-io/dashboard:latest 77 ``` 78 79 ## Usage scenarios & features 80 81 * [x] An extremely simple way to install kubernetes and other software in the kubernetes ecosystem in a production or offline environment. 82 * [x] Through Kubefile, you can easily customize the kubernetes CloudImage to package the cluster and applications, and submit them to the registry. 83 * [x] Powerful life cycle management capabilities, to perform operations such as cluster upgrade, cluster backup and recovery, node expansion and contraction in unimaginable simple ways 84 * [x] Very fast, complete cluster installation within 3 minutes 85 * [x] Support ARM x86, v1.20 and above versions support containerd, almost compatible with all Linux operating systems that support systemd 86 * [x] Does not rely on ansible haproxy keepalived, high availability is achieved through ipvs, takes up less resources, is stable and reliable 87 * [x] Many ecological software images can be used directly, like prometheus mysql..., and you can combine then together. 88 89 ## Quick start 90 91 Install a kubernetes cluster 92 93 ```shell script 94 #install Sealer binaries 95 wget https://github.com/alibaba/sealer/releases/download/v0.8.5/sealer-v0.8.5-linux-amd64.tar.gz && \ 96 tar zxvf sealer-v0.8.5-linux-amd64.tar.gz && mv sealer /usr/bin 97 #run a kubernetes cluster 98 sealer run kubernetes:v1.19.8 --masters 192.168.0.2 --passwd xxx 99 ``` 100 101 ## User guide 102 103 [get started](docs/site/src/docs/getting-started/quick-start.md) 104 105 ## Official website 106 107 [official website](http://sealer.cool) 108 109 ## Developing Sealer 110 111 * [contributing guide](./CONTRIBUTING.md) 112 * [贡献文档](./docs/contributing_zh.md) 113 114 ## License 115 116 Sealer is licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for the full license text.