Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Build, Share and Run Both Your Kubernetes Cluster and Distributed Applications (Project under CNCF)

License

NotificationsYou must be signed in to change notification settings

sealerio/sealer

LicenseGoReleaseGoDocCII Best PracticesTwitterFOSSA Statuscodecov

Contents

Introduction

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.

image

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.

image

Awesome features

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

Quick start

Download sealer binary file.

#install Sealer binarieswget https://github.com/sealerio/sealer/releases/download/v0.9.3/sealer-v0.9.3-linux-amd64.tar.gz&& \tar zxvf sealer-v0.9.3-linux-amd64.tar.gz&& mv sealer /usr/bin

Install a kubernetes cluster

# run a kubernetes clustersealer run docker.io/sealerio/kubernetes:v1-22-15-sealerio-2 \  --masters 192.168.0.2,192.168.0.3,192.168.0.4 \  --nodes 192.168.0.5,192.168.0.6,192.168.0.7 --passwd xxx

Build an sealer image

Kubefile:

FROM docker.io/sealerio/kubernetes:v1-22-15-sealerio-2APP mysql https://charts/mysql.tgzAPP elasticsearch https://charts/elasticsearch.tgzAPP redis local://redis.yamlAPP businessApp local://install.shLAUNCH ["calico","mysql","elasticsearch","redis","businessApp"]

or

FROM docker.io/sealerio/kubernetes:v1-22-15-sealerio-2COPY mysql.tgz.COPY elasticsearch.tgz.COPY redis.yaml.COPY install.sh.CMDS ["sh application/apps/calico/calico.sh","helm install mysql.tgz","helm install elasticsearch.tgz","kubectl apply -f redis.yaml","bash install.sh"]

build command:

NOTE: --type=kube-installer is the default value for sealer build

sealer build -f Kubefile -t my-kubernetes:1.0.0.

Build an app image

nginx.yaml:

apiVersion: apps/v1kind: Deploymentmetadata:  name: my-nginx  namespace: defaultspec:  replicas: 1  selector:    matchLabels:      run: my-nginx  template:    metadata:      labels:        run: my-nginx    spec:      containers:        - name: my-nginx          image: nginx          ports:            - containerPort: 80

Kubefile:

FROM scratchAPP nginx local://nginx.yamlLAUNCH ["nginx"]
sealer build -f Kubefile -t sealer-io/nginx:latest --type app-installer

Run the app image

sealer run sealer-io/nginx:latest# check the podkubectl get pod -A

Push the app image to the registry

# you can push the app image to docker hub, Ali ACR, or Harborsealer tag sealer-io/nginx:latest {registryDomain}/sealer-io/nginx:latestsealer push {registryDomain}/sealer-io/nginx:latest

Clean the cluster

Some information of the basic settings will be written to the Clusterfile and stored in /root/.sealer/Clusterfile.

sealer delete -a

User guide

Sealer provides a valid image list:

versionimageArchOSNetwork pluginscontainer runtime
v0.8.6registry.cn-qingdao.aliyuncs.com/sealer-io/kubernetes:v1.22.15-0.8.6x86CentOS/RHEL 7.5
CentOS/RHEL 7.6
CentOS/RHEL 7.7
CentOS/RHEL 7.8
CentOS/RHEL 7.9
Ubuntu 20.04
calicohack docker v19.03.14
v0.9.3docker.io/sealerio/kubernetes:v1-18-3-sealerio-2x86/arm64CentOS/RHEL 7.5
CentOS/RHEL 7.6
CentOS/RHEL 7.7
CentOS/RHEL 7.8
CentOS/RHEL 7.9
Ubuntu 20.04
calicohack docker v19.03.14
v0.9.3docker.io/sealerio/kubernetes:v1-20-4-sealerio-2x86/arm64CentOS/RHEL 7.5
CentOS/RHEL 7.6
CentOS/RHEL 7.7
CentOS/RHEL 7.8
CentOS/RHEL 7.9
Ubuntu 20.04
calicohack docker v19.03.14
v0.9.3docker.io/sealerio/kubernetes:v1-22-15-sealerio-2x86/arm64CentOS/RHEL 7.5
CentOS/RHEL 7.6
CentOS/RHEL 7.7
CentOS/RHEL 7.8
CentOS/RHEL 7.9
Ubuntu 20.04
calicohack docker v19.03.14

get started

Official website

official website

Developing Sealer

Communication Channels

  • CNCF Mailing List: to be added.
  • Twitter:@sealer
  • DingTalk Group Number: 34619594

Code of Conduct

sealer follows theCNCF Code of Conduct.

License

Sealer is licensed under the Apache License, Version 2.0. SeeLICENSE for the full license text.

FOSSA Status

About

Build, Share and Run Both Your Kubernetes Cluster and Distributed Applications (Project under CNCF)

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors74

Languages


[8]ページ先頭

©2009-2025 Movatter.jp