/sealos

Cloud operating system based on kubernetes. Own your own cloud with one click!

Primary LanguageGoApache License 2.0Apache-2.0

trackgit-views

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


Docs | 简体中文

Run a Kubernetes cluster

asciicast

What is sealos

sealos is a Kubernetes distribution, a general-purpose cloud operating system for managing cloud-native applications.

  • 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.

Demo show

Online demo

Learning sealos by examples

Use the cloud like a PC desktop, Freely run and uninstall any distributed applications:

Some Screen Shots of sealos:

sealos cloud native app store sealos cloud native app store
pgsql on sealos cloud pgsql on sealos cloud

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 your 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
    • Multi-tenant management
    • Application management
    • Multi cloud cluster management, run user defined kubernetes and applications on any cloud.
    • Run any distributed applications
    • Cloud terminal
    • App store

Quickstart

Installing an HA Kubernetes cluster with calico as CNI

Here kubernetes:v1.24.0 and calico:v3.24.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.1.3/sealos_4.1.3_linux_amd64.tar.gz  && \
    tar -zxvf sealos_4.1.3_linux_amd64.tar.gz sealos &&  chmod +x sealos && mv sealos /usr/bin 
# Create a cluster
$ sealos run labring/kubernetes:v1.25.0 labring/helm:v3.8.2 labring/calico:v3.24.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]

Single host

$ sealos run labring/kubernetes:v1.25.0 labring/helm:v3.8.2 labring/calico:v3.24.1 --single
# remove taint
$ kubectl taint nodes --all node-role.kubernetes.io/master:NoSchedule-

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.

Use cri-docker image

sealos run labring/kubernetes-docker:v1.20.5-4.1.3 labring/calico:v3.24.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]

Links

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