使用kubei一步部署k8s高可用集群(包含docker安装、k8s组件安装、master初始化和加入nodes节点)

kubei (kubernetes installer) 是一个go开发的用来部署kubernetes高可用集群的命令行工具,该工具可在WindowsLinuxMac中运行

kubei原理:通过ssh连接到集群服务器,进行容器引擎安装、kubernetes组件安装、主机初始化配置、本地负载均衡器部署、调用kubeadm初始化集群master、调用kubeadm将主机加入节点

支持使用普通用户(sudo用户)连接集群服务器进行安装部署,支持通过堡垒机连接集群服务器

k8s-ha.png

版本支持

应用 版本</thalign="center">
kubernetes 1.16.X、1.17.X
容器引擎 目前只支持docker 18.09.X、19.XX.XX
网络插件 目前只支持flannel 0.11.0

快速开始

实际部署中建议使用同一发行版的Linux系统,这里使用两种系统主要是为了体现兼容性

主机 集群角色 系统版本
10.3.0.10 master Ubuntu 18.04.3 LTS
10.3.0.11 master Ubuntu 16.04.6 LTS
10.3.0.12 master CentOS 7.4
10.3.0.20 worker CentOS 7.7
10.3.0.21 worker Ubuntu 18.04.3 LTS

下载kubei二进制文件

KUBEI_VERSION=0.1.2
wget https://github.com/yuyicai/kubei/releases/download/v${KUBEI_VERSION}/kubei_${KUBEI_VERSION}_Linux_x86_64.tar.gz -O kubei.tar.gz
tar xf kubei.tar.gz
chmod +x kubei

执行部署命令:

默认使用root用户和22端口,如果需要使用普通用户和其它ssh端口,请查看ssh用户参数说明

如果要用密码做ssh登录验证,请查看ssh用户参数说明

./kubei init --key=$HOME/.ssh/k8s.key \
 --masters 10.3.0.10,10.3.0.11,10.3.0.12 \
 --workers 10.3.0.20,10.3.0.21 \
 --skip-headers

部署过程:

asciicast

部署结果:

NAME        STATUS   ROLES    AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION               CONTAINER-RUNTIME
10.3.0.10   Ready    master   58s   v1.17.0   10.3.0.10     <none>        Ubuntu 18.04.3 LTS      4.15.0-66-generic            docker://19.3.5
10.3.0.11   Ready    master   21s   v1.17.0   10.3.0.11     <none>        Ubuntu 16.04.6 LTS      4.4.0-142-generic            docker://19.3.5
10.3.0.12   Ready    master   28s   v1.17.0   10.3.0.12     <none>        CentOS Linux 7 (Core)   3.10.0-1062.1.2.el7.x86_64   docker://19.3.5
10.3.0.20   Ready    <none>   34s   v1.17.0   10.3.0.20     <none>        CentOS Linux 7 (Core)   3.10.0-693.2.2.el7.x86_64    docker://19.3.5
10.3.0.21   Ready    <none>   11s   v1.17.0   10.3.0.21     <none>        Ubuntu 18.04.3 LTS      4.15.0-66-generic            docker://19.3.5

更多安装示例(指定安装版本,使用堡垒机连接等)

参数说明

Image placeholder
clg_web
未设置
  26人点赞

没有讨论,发表一下自己的看法吧

推荐文章
如何在生产环境中部署Kubernetes集群?

如果把kubernetes集群应用于生产环境中,需要做哪些准备?我们先要弄清楚一个词,什么是“生产就绪”?生产就绪,是我们经常听到的一个专业术语,大概意思是已经准备好并已处于即将生产的状态。但是,到底

Kubernetes1.14 版发布,增强了云原生平台的Windows节点支持

Kubernetes1.14GA版本,是开源云原生平台Kubernetes在2019年的一次重大更新。自3月25日开始,这一版本正式推出,供开发者全面使用。  Kubernetes,由云原生计算基金会

从零开始入门 K8s | K8s 的应用编排与管理

作者|张振阿里云高级技术专家一、资源元信息1.Kubernetes资源对象我们知道,Kubernetes的资源对象组成:主要包括了Spec、Status两部分。其中Spec部分用来描述期望的状态,St

深入浅出百亿请求高可用Redis(codis)分布式集群揭秘

摘要:作为noSql中的kv数据库的王者,redis以其高性能,低时延,丰富的数据结构备受开发者青睐,但是由于redis在水平伸缩性上受限,如何做到能够水平扩容,同时对业务无侵入性是很多使用redis

K8s有多热?传统银行转型拥抱Kubernetes案例

Kubernetes已经成为标准的基础设施API,像RedHat、Mesosphere(现在的D2IQ)和Pivotal等供应商都无法避免。如果您希望使企业能够合理构建应用程序,那么Kubernete

Dubbo 在 K8s 下的思考

作者|曹胜利  ApacheDubboPMC导读:Dubbo作为高性能JavaRPC框架的刻板印象早已深入人心,在CloudNative的架构选型上,SpringCloud或许才是业界的优先选择。实际

实操讲解:使用Keras中的自动编码器进行极端罕见事件分类

在这篇文章中,我们将学习如何实现用自动编码器来构建稀有事件分类器。我们将使用来自此处的真实稀有事件数据集。背景什么是极端罕见的事件?在一个罕见的问题中,我们有一个不平衡的数据集。意思是,我们得到的阳性

AWS vs K8s 是新时代的 Windows vs Linux?

作者:IanMiell是开源程序员、演讲师、作家和博客写手以前……如果你与我一样,年过四十,又在IT行业工作,恐怕还记得每个人使用Windows,一小群但越来越多的人在业余时间埋头编译Linux的年代

超大规模商用 K8s 场景下,阿里巴巴如何动态解决容器资源的按需分配问题?

导读:资源利用率一直是很多平台管理和研发人员关心的话题。本文作者通过阿里巴巴容器平台团队在这一领域的工作实践,整理出了一套资源利用提升的方案,希望能够带给大家带来一些讨论和思考。引言不知道大家有没有过

干货 | 阿里巴巴HBase高可用8年抗战回忆录

前言2011年毕玄和竹庄两位大神将HBase引入阿里技术体系,2014年接力棒转到东8区第一位HBasecommiter天梧手中,多年来与淘宝、旺旺、菜鸟、支付宝、高德、大文娱、阿里妈妈等几乎全BU合

高可用架构实例:在多云和多区域中穿行

Auth0为所有技术栈上的任一平台(移动,Web,本机)应用程序提供身份验证,授权和单点登录服务。身份验证对绝大多数应用程序至关重要。我们从一开始就设计了Auth0,以便它可以在任何地方运行:在我们的

会员服务在高可用架构的实战探索

概述很多互联网公司在发展过程中大多出现过多次机房网络故障的情形,如果发生故障,一般需要动用整个IT部门的人力进行流量切换和客诉处理。为了避免此类情形的发生,公司计划进行服务的高可用建设。会员部门持续跟

美团点评Kubernetes集群管理实践

背景作为国内领先的生活服务平台,美团点评很多业务都具有非常显著、规律的“高峰”和“低谷”特征。尤其遇到节假日或促销活动,流量还会在短时间内出现爆发式的增长。这对集群中心的资源弹性和可用性有非常高的要求

为什么要初始化css代码?

为什么要初始化css代码?首先是因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面显示差异。其次初始化CSS样式可以提高编码质量,保持代码的统一

【Kubernetes系列】第5篇 Ingress controller – traefik组件介绍

1.概述为了能够让Ingress资源能够工作,在Kubernetes集群中必须至少有一个运行中的ingresscontroller组件。也就是说如果在kubernetes集群中没有一个ingressc

比特币新手图文教程:一步一步教会你用比特币HD钱包,批量产生多个比特币地址和私钥

HD钱包可以快速方便的生成多个比特币地址,并且不需要备份对应的私钥。你只需要备份一个父私钥就可以把所有的私钥和地址全部恢复。比特币hd钱包解决了下面几个问题: 每次生成一个新地址都需要备份一遍私钥,操

10 分钟彻底理解 Redis 的持久化和主从复制

在这篇文章,我们继续有关Redis方面知识的学习,一起了解一下其中一个非常重要的内容:Redis的持久化机制。什么是Redis持久化?Redis作为一个键值对内存数据库(NoSQL),数据都存储在内存

svn服务端安装、权限修改以及客户端的使用

欢迎加入前端交流群交流知识获取视频资料:749539640svn服务端安装、权限修改以及客户端的使用svn服务端、客户端、汉化包:下载地址1.安装服务器端程序(傻瓜式下一步。。下一步)选择服务器和管理

使用 Docker 部署 Spring Boot 项目

Docker技术发展为微服务落地提供了更加便利的环境,使用Docker部署SpringBoot其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的SpringBoot项目,然后给项目添加Doc

jquery判断dom节点是否存在?

jquery判断dom节点是否存在?jQuery判断DOM节点是否存在页面中1、首先在jquery原型上添加一个exist方法;2、然后在方法内判断当前对象length属性是否大于0,大于就存在;3、

jquery如何判断某个dom节点是否存在?

想要判断某个dom节点是否存在,可以使用length属性来判断。jquery使用length属性判断length属性包含jQuery对象中元素的数目。示例: 这里是i

Twitter 宣布抛弃 Mesos,全面转向 Kubernetes

作者|阿里云智能高级技术专家张磊划重点Twitter的基础设施从Mesos全面转向Kubernetes阿里云容器平台团队即将开源 Kubernetes高级作业管理集合美国西部时间5月2日下午7点,Tw

如何将样式加入到react组件上

如何将样式加入到react组件上一、使用行内样式想给虚拟dom添加行内样式,需要使用表达式传入样式对象的方式来实现://注意这里的两个括号,第一个表示我们在要JSX里插入JS了,第二个是对象的括号 H

从零部署TiDB集群

一前言朋友圈,关注的公众号经常出现各个公司开始用TiDB的案例和各种技术分享。对TiDB蛮有兴趣,这几天终于可以尝试接触TiDB,第一步当然是安装和部署。过程还是蛮曲折的,耗费差不多三个工作日。本文先