授权协议: Apache
开发语言: Google Go 查看源码 »
操作系统: 跨平台
收录时间: 2019-08-26
提 交 者: sealyun

sealos旨在做一个简单干净轻量级稳定的kubernetes安装工具,能很好的支持高可用安装。 

sealos特性与优势:

  • 支持离线安装,工具与资源包(二进制程序 配置文件 镜像 yaml文件等)分离,这样不同版本替换不同离线包即可
  • 证书延期
  • 使用简单
  • 支持自定义配置
  • 内核负载,极其稳定,因为简单所以排查问题也极其简单

本地负载为什么不使用envoy或者nginx

我们通过本地负载解决高可用问题

解释一下本地负载,就是在每个node节点上都启动一个负载均衡,上游就是三个master,负载方式有很多 ipvs envoy nginx等,我们最终使用内核ipvs

如果使用envoy等需要在每个节点上都跑一个进程,消耗更多资源,这是我不希望的。ipvs实际也多跑了一个进程lvscare,但是lvscare只是负责管理ipvs规则,和kube-proxy类似,真正的流量还是从很稳定的内核走的,不需要再把包走到用户态中去处理。

实现上有个问题会让使用envoy等变得非常尴尬,就是join时如果负载均衡没有建立那是会卡住的,kubelet就不会起,所以为此你需要先把envory起起来,意味着你又不能用static pod去管理它,同上面keepalived宿主机部署一样的问题,用static pod就会相互依赖,逻辑死锁,鸡说要先有蛋,蛋说要先有鸡,最后谁都没有。

使用ipvs就不一样,我可以在join之前先把ipvs规则建立好,再去join就可以join进去了,然后对规则进行守护即可。一旦apiserver不可访问了,会自动清理掉所有node上对应的ipvs规则, master恢复正常时添加回来。

为什么要定制kubeadm

首先是由于kubeadm把证书时间写死了,所以需要定制把它改成99年,虽然大部分人可以自己去签个新证书,但是我们还是不想再依赖个别的工具,就直接改源码了。

其次就是做本地负载时修改kubeadm代码是最方便的,因为在join时我们需要做两个事,第一join之前先创建好ipvs规则,第二创建static pod,如果这块不去定制kubeadm就把报静态pod目录已存在的错误,忽略这个错误很不优雅。 而且kubeadm中已经提供了一些很好用的sdk供我们去实现这个功能。

且这样做之后最核心的功能都集成到kubeadm中了,sealos就单单变成分发和执行上层命令的轻量级工具了,增加节点时我们也就可以直接用kubeadm了。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

sealos 的相关资讯

还没有任何资讯

sealos 的相关博客

细述kubernetes HA安装方式- sealos详解

概述 本文教你如何用一条命令构建k8s高可用集群且不依赖haproxy和keepalived,也无需ansible。通过内核ipvs对apiserver进行负...

【sealos】一条命令部署多master的高可用k8s集群

sealos 简单介绍 今天分享一个完全自动化安装kubernetes高可用环境的安装工具,之前我也不太相信,能把操作繁杂的搭建k8s的过...

使用 Sealos 在 3 分钟内快速部署一个生产级别的 Kubernetes 高可用集群

本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux。 「运维之美」是一个有情怀、有态度,专注于 Linux 运维相关技术...

使用 Sealos 在 3 分钟内快速部署一个生产级别的 Kubernetes 高可用集群

本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux。 「运维之美」是一个有情怀、有态度,专注于 Linux 运维相关技术...

kubernetes 1.18离线安装 一键安装

kuberentes 离线丝滑安装 为了让kubernetes安装与集群节点管理更丝滑,这次我们是花了大功夫。这次做了很多非常大的更新,并经...

CentOS 8 kubernetes 1.18 一键安装

sealos 最新版本支持 1.18.0 1 年证书 体验版本免费提供 http://store.lameleg.com 安装方式如下: 下载并安装 sealos, seal...

一键安装kubernetes1.17.0

快速开始 环境信息 主机名 IP地址 master0 192.168.0.2 master1 192.168.0.3 master2 192.168.0.4 node0 192.168.0.5 服务器密...

一日一工具|东半球最好的k8s集群安装工具

`sealos` 可能是我见过的最牛的k8s集群安装工具了,没有之一,也有可能是我头发长,见识短。 1 sealos 是什么(摘自 Github 描...

sealos 的相关问答

还没有任何问答,马上提问

评论 (0)

加载中
更多评论
0 评论
13 收藏
分享
返回顶部
顶部