Giter Club home page Giter Club logo

sealos's Introduction

⚠️ 风险须知

由于sealos可以把一周的工作量缩短到三分钟,可能会导致您工作不饱满而被老板炒鱿鱼

trackgit-views

一条命令部署 Kubernetes 高可用集群 👋

只能用丝滑一词形容的kubernetes高可用安装(kubernetes install)工具,一条命令,离线安装,包含所有依赖,内核负载不依赖haproxy keepalived,纯golang开发,99年证书,支持v1.20.0 v1.19.5 v1.18.13 v1.17.15!

Awesome Build Status Website Go Report Card Chat on Telegram


文档: 官方文档, 英文文档, 博客

加入组织: 钉钉群(35371178), Telegram

✨ 支持的环境

Linux 发行版, CPU架构

  • Debian 9+, x86_64/ arm64
  • Ubuntu 16.04, 18.04, 20.04, x86_64/ arm64
  • Centos/RHEL 7.6+, x86_64/ arm64
  • 其他支持 systemd 的系统环境, x86_64/ arm64
  • Kylin arm64

kubernetes 版本

  • 1.16+
  • 1.17+
  • 1.18+
  • 1.19+
  • 1.20+
  • 1.21+
  • 1.22+

更多版本支持, 详细查看sealyun.com

要求和建议

  • 最低资源要求

    • 2 vCpu
    • 4G Ram
    • 40G+ 存储
  • 操作系统要求

    • ssh 可以访问各安装节点
    • 各节点主机名不相同,并满足kubernetes的主机名要求。
    • 各节点时间同步
    • 网卡名称如果是不常见的,建议修改成规范的网卡名称, 如(eth.|en.|em.*)
    • kubernetes1.20+ 使用containerd作为cri. 不需要用户安装docker/containerd. sealos会安装1.3.9版本containerd。
    • kubernetes1.19及以下 使用docker作为cri。 也不需要用户安装docker。 sealos会安装1.19.03版本docker
  • 网络和 DNS 要求:

    • 确保 /etc/resolv.conf 中的 DNS 地址可用。否则,可能会导致群集中coredns异常。
    • 如果使用阿里云/华为云主机部署。 默认的pod网段会和阿里云的dns网段冲突, 建议自定义修改pod网段, 在init的时候指定--podcidr 来修改。
    • sealos 默认会关闭防火墙, 如果需要打开防火墙, 建议手动放行相关的端口。
  • 内核要求:

    • cni组件选择cilium时要求内核版本不低于5.4

🚀 快速开始

环境信息

主机名 IP地址
master0 192.168.0.2
master1 192.168.0.3
master2 192.168.0.4
node0 192.168.0.5

服务器密码:123456

kubernetes .0版本不建议上生产环境!!!

只需要准备好服务器,在任意一台服务器上执行下面命令即可

# 下载并安装sealos, sealos是个golang的二进制工具,直接下载拷贝到bin目录即可, release页面也可下载
$ wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/latest/sealos && \
    chmod +x sealos && mv sealos /usr/bin

# 下载离线资源包
$ wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/05a3db657821277f5f3b92d834bbaf98-v1.22.0/kube1.22.0.tar.gz

# 安装一个三master的kubernetes集群
$ sealos init --passwd '123456' \
	--master 192.168.0.2  --master 192.168.0.3  --master 192.168.0.4  \
	--node 192.168.0.5 \
	--pkg-url /root/kube1.22.0.tar.gz \
	--version v1.22.0

参数含义

参数名 含义 示例
passwd 服务器密码 123456
master k8s master节点IP地址 192.168.0.2
node k8s node节点IP地址 192.168.0.3
pkg-url 离线资源包地址,支持下载到本地,或者一个远程地址 /root/kube1.22.0.tar.gz
version 资源包对应的版本 v1.22.0

增加master

🐳 → sealos join --master 192.168.0.6 --master 192.168.0.7
🐳 → sealos join --master 192.168.0.6-192.168.0.9  # 或者多个连续IP

增加node

🐳 → sealos join --node 192.168.0.6 --node 192.168.0.7
🐳 → sealos join --node 192.168.0.6-192.168.0.9  # 或者多个连续IP

删除指定master节点

🐳 → sealos clean --master 192.168.0.6 --master 192.168.0.7
🐳 → sealos clean --master 192.168.0.6-192.168.0.9  # 或者多个连续IP

删除指定node节点

🐳 → sealos clean --node 192.168.0.6 --node 192.168.0.7
🐳 → sealos clean --node 192.168.0.6-192.168.0.9  # 或者多个连续IP

清理集群

🐳 → sealos clean --all

✅ 特性

  • 支持ARM版本离线包,v1.20版本离线包支持containerd集成,完全抛弃docker
  • 99年证书, 支持集群备份,升级
  • 不依赖ansible haproxy keepalived, 一个二进制工具,0依赖
  • 离线安装,不同kubernetes版本下载对应不同版本的资源包即可,离线包包含所有二进制文件配置文件和镜像
  • 高可用通过ipvs实现的localLB,占用资源少,稳定可靠,类似kube-proxy的实现
  • 几乎可兼容所有支持systemd的x86_64架构的环境
  • 轻松实现集群节点的增加/删除
  • 上千用户在线上环境使用sealos,稳定可靠
  • 资源包放在阿里云oss上,再也不用担心网速
  • dashboard ingress prometheus等APP 同样离线打包,一键安装

📊 Stats

Alt

sealos's People

Contributors

aaronlyc avatar aiyijing avatar cluas avatar codesorrymaker avatar cuisongliu avatar currycan avatar dk-lockdown avatar dujiacheng avatar encounter77 avatar fanux avatar fzkun avatar ideal avatar imgbotapp avatar jinnzy avatar linuxsuren avatar lucienshui avatar oldthreefeng avatar pathoo avatar sealrobot avatar stonechen03 avatar svolence avatar thebeatles1994 avatar ubbo-sathla avatar vimerr avatar wisheen avatar wsh-justep avatar wuxingzhong avatar yangchuansheng avatar ysicing avatar zhangguanzhang avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.