/sealos

kubernetes-kernel-based cloud os! Let's sealos run kubernetes and applications.

Primary LanguageGoApache License 2.0Apache-2.0

trackgit-views

Popularize cloud native technologies with ease

Awesome Build Status 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.

Core Capabilities

  • Cluster image
    • The entire cluster will be able to build, ship and run.
    • Semantics of docker will be extended to clusters so that any distributed applications can be defined and run smoothly.
  • hub.sealos
    • A cluster image repository where you can retrieve pre-built distributed applications such as basic Kubernetes cluster image, high availability pgsql cluster image, high availability minio cluster image, etc.
  • desktop.sealos
    • A desktop for cloud OS, not to be confused with traditional cloud desktop. It is similar to macOS, but manages cluster and distributed applications instead of personal computers.
  • Distributed application matrix
    • Anything you need including storage / network / HA database / message queue / monitoring can be retrieved with a click of the mouse, or simply sealos run.
    • sealos now support 20+ HA applications.

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, pgsql, mysql, redis, etc.
  • Customize you own distributed applications
    • Using Dockerfile to build distributed applications images, save all dependencies.
    • Push distributed applications images to docker hub.
    • Combine many applications to build your own cloud platform.

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 -c https://sealyun-home.oss-cn-beijing.aliyuncs.com/sealos-4.0/latest/sealos-amd64 -O 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 ingress cluster image.

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