/sealos

sealos is a kubernetes distribution. Let's sealos run kubernetes:v1.24.0 in 3 minutes!

Primary LanguageGoApache License 2.0Apache-2.0

trackgit-views

Popularize cloud native technologies with ease

Awesome Open in Dev Container Build Status FOSSA Status codecov Website OSCS Status Chat on Telegram


Docs | 简体中文

What is sealos

sealos is a cloud operating system distribution with Kubernetes as its kernel.

In the early stages, operatings systems have adopted a layered architecture, which later evolved into kernel architecture like Linux and Windows. With the emergence of container technologies, cloud OS will migrate to a "cloud kernel" architecture with strong cohesion in the future.

  • From now on, think of all your machines as an abstract supercomputer whose operating system is sealos, where Kubernetes serves as the OS kernel.
  • Instead of IaaS, PaaS and SaaS, there will only be cloud OS drivers(CSI, CNI and CRI implementations), cloud OS kernel(Kubernetes) and distributed applications.

sealos cloud overview

Embedded dashboard application

Embedded terminal application

Core features

  • Manage clusters lifecycle
    • Quickly install HA Kubernetes clusters
    • Add / remove nodes
    • Clean the cluster, backup and auto recovering, etc.
  • Download and use OCI-compatible distributed applications
    • OpenEBS, MinIO, Ingress, PostgreSQL, MySQL, Redis, etc.
  • Customize you own distributed applications
    • Using Dockerfile to build distributed applications images, saving all dependencies.
    • Push distributed applications images to Docker Hub.
    • Combine multiple applications to build your own cloud platform.
  • Sealos cloud
    • Run any distributed applications
    • Have a full public cloud capability,and run it anywhere

Quickstart

Installing an HA kubernetes cluster with calico as CNI

Here kubernetes:v1.24.0 and calico:v3.22.1 are the cluster images in the registry which are fully compatible with OCI standard. Wonder if we can use flannel instead? Of course!

# Download and install sealos. sealos is a golang binary so you can just download and copy to bin. You may also download it from release page.
$ wget https://github.com/labring/sealos/releases/download/v4.0.0/sealos_4.0.0_linux_amd64.tar.gz \
   && tar zxvf sealos_4.0.0_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin
# Create a cluster
$ sealos run labring/kubernetes:v1.24.0 labring/calico:v3.22.1 \
     --masters 192.168.64.2,192.168.64.22,192.168.64.20 \
     --nodes 192.168.64.21,192.168.64.19 -p [your-ssh-passwd]

Building a custom cluster image

See Building an Example CloudImage.

Storage, message queue, database, etc.

Don't be shocked by the following:

sealos run labring/helm:v3.8.2 # install helm
sealos run labring/openebs:v1.9.0 # install openebs
sealos run labring/minio-operator:v4.4.16 labring/ingress-nginx:4.1.0 \
   labring/mysql-operator:8.0.23-14.1 labring/redis-operator:3.1.4 # oneliner

And now everything is ready.

Links

  • Contribution Guidelines
  • Development Guide
  • sealos 3.0(older version) For older version users. Note that sealos 4.0 includes significant improvements, so please upgrade ASAP.
  • buildah Capabilities of buildah is widely used in sealos 4.0 to make cluster images compatible with container images and docker registry.
  • sealer Capabilities of sealer is widely used in sealos 4.0 to make Clusterfile compatible with sealer, some module forked sealer source code.

Join us: Telegram, QQ Group(98488045), Wechat:fangnux

License

FOSSA Status