# 5 分钟安装一个高可用三中心节点的 kubernetes 系统

2018-12-13 14:48:51 +08:00
 firefox12

有任何安装问题 可以在这里给我留言, 或者加入 qq 778526002 群提问 谢谢!

下载网址: https://github.com/xiaojiaqi/k8seasy_release_page

大家好,今天我向大家安利一款软件,这款软件是 kubernetes 的安装软件。 它的名字叫 k8seasy. 你可以从 https://github.com/xiaojiaqi/k8seasy_release_page 下载这款软件。

这款软件是一款 kubernetes 的安装软件, 也就是说用这款软件 你可以很容易地把一个 kubernetes 系统搭建起来,而且是 3 节点的高可用系统。完全可以使用在生产环境里。

说到 kubernetes,大家都很熟悉了,这是一款 google 出品的容器编排的软件。但是要安装 kubernetes 实在是太困难 太复杂了,虽然它自带了一款安装程序,但是在中国的互联网环境里,我只想说实在是根本不能用啊。官方的安装程序需要下载很多镜像,速度慢,经常失败,各种安装失败的问题在论坛里比比皆是,而且如果你想搭建高可用的生产环境,想利用二进制安装服务,目前还是做不到的。所以这款 k8seasy 软件就是来解决大家的痛点。

优点

先说说这款软件的优点

首先我们打开下载中百度网盘链接,我们可以看到这 3 个版本,它们分别对应 kubernetes 的 1.10.11 1.11.5 1.12.3 这 3 个版本。

github 网页

网页下部的下载链接

百度网盘中可选择的版本

我们以 1.11.5 为例 演示 2 个案例

案例一 在本机安装一个完整的 kubernetes

在这一个案例里,我们将作下面的演示,在一台主机上使用 k8seasy 安装一套 kubernetes 以及 dashboard 然后登录 dashboard, 最后再完美的删除掉它。

首先我们下载 k8seasy 的安装包,大概 1.5G, 包括了所有的镜像。好了,启动以前查看一下 网络设备,只有 lo eth0 eth1,并没有 kubernetes 的组件存在。所以系统是干净的

同时我们可以看到这是一台 centos 的主机,版本是 7.5。 好了 我们要开始安装了,安装的命令是什么呢? 一句话

sudo ./installer --install

就是这么简单,然后你可以看到,所有安装好的组件名称都会列在上面,然后一个功能完整的集群就安装好了,就这么简单。

好了完成了,大概 1 分钟。 一个完整的 kubernetes 已经装好了。 我们运行 . /etc/profile 重新加载一下环境变量。


我们利用 kubectl 命令查看一下,

kubectl get nodes

你可以看到一个 master node 的集群已经建立好了, 主节点版本是 1.11.5.

现在我们需要查看一下 dashboard,看看它是否运行正常。 首先 在 k8seasy 的目录里多了一个文件 dashboard.kubeconfig 文件,这个就是登录 dashboard 的凭证。

将它下载下来,然后运行

kubectl get services kubernetes-dashboard -n kube-system

命令,我们可以从输出看到,dashboard 目前正在主机 9638 端口侦听。

现在我们利用浏览器 访问 https://192.168.3.11:9638 这个端口,因为证书的原因,我们需要先允许使用这个例外.

好了出现登录界面了。我们选择刚才的凭证。登录成功。

好了一切尽在掌控。 我们可以查看整个系统。这个系统可以用来学习,开发 kubernetes, 一切都非常简便。

当我们不需要它的使用,请使用

sudo ./installer --uninstall

一切都被删除干净了,所有的服务都删除了,网络也恢复到一开始的状况,就这么简单

案例 2 在多个节点上安装一个多节点高可用的系统

现在我们开始第二个案例 单机作为学习是够了,但是要作为生产环境还是不够的。现在我们演示三节点高可用系统的搭建,然后再演示如何不断加入新的节点到这个集群里 。

首先我准备了 4 台虚拟主机,它们的 ip 分别是 192.168.3.10,192.168.3.11,192.168.3.14,192.168.3.17.

在运行安装以前,还需要在每台主机上运行

sudo ./installer --prepare

这样就好了。 然后在 3 台主机上同时运行一样的命令。

sudo ./installer --intall --masterip=192.168.3.11,192.168.3.10,192.168.3.14 --virtualip=192.168.3.250 --virtualipInterface=eth1

其中 masterip 就是指 3 台虚拟主机的地址,virtualip 就是浮动 ip, 而 virtualipInterface 就是主机使用的网络设备。

在同一个集群安装,masterip ,virtualip 这 2 个安装参数必须是一样的。

稍加等待,一个系统就安装好了。

我们利用 kubectl 命令查看一下节点情况,

kubectl get nodes

kubectl get services kubernetes-dashboard -n kube-system

命令,我们可以从输出看到,dashboard 目前正在主机 9553 端口侦听。

现在我们利用浏览器 访问 https://192.168.3.10:9553 ,和刚才类似,使用 dashboard.kubeconfig 凭证,登录进系统。

登录进去以后 ,你就能发现,3 个节点已经被完全管理起来了。

可以这样认为,一个三节点的高可用 kubernetes 已经搭建成功了。可是这并不够,我们还需要将其他的节点不断的加入这个集群,我们该怎么做呢?

很简单,在其他的主机节点上运行几乎完全一样的命令

sudo ./installer --intall --masterip=192.168.3.11,192.168.3.10,192.168.3.14 --virtualip=192.168.3.250

安装完成了,再次检查一下节点状态,新节点已经在集群里了。

再次进入监控,我们可以发现新节点也在集群里。所以任务完成

最后希望你提出宝贵意见,你可以在 k8seasy@gmail.com , https://github.com/xiaojiaqi/k8seasy_release_page, 以及 QQ 群:778526002 给出反馈。让我们把它变得更好。

2629 次点击
所在节点    分享创造
1 条回复
binbinyouliiii
2018-12-13 23:55:11 +08:00
会装不会用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/517226

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX