有任何安装问题 可以在这里给我留言, 或者加入 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 软件就是来解决大家的痛点。
先说说这款软件的优点
第一 它完全不需要配置,一键完成,包括集群也是一键生成。
第二 不需要下载任何镜像,所有需要的模块组件都已经帮你准备好了,你只需要安装一下就可以了。
第三 完美支持了 centos 7 以后版本 ubutun16.04 18.04 版本。覆盖了绝大多数的系统。
第四 它已经内置了最常用的镜像 比如 dashboard 和 cordns heapster, 内部的监控已经完成,直接可以使用。
第五 它安装所有的组件是以系统服务方式安装,以后启动停止都非常简单。
最后 支持最新的 kubernetes 的版本 从 1.10.11 1.11.5 到 1.12.3,可以让大家第一时间 体验到最新的软件
最后提示一下 k8seasy 对外部的要求 只有一点,它要求主机需要有一个 IP 在 192.168.1.0 - 192.168.10.0 这 10 个子网里,这是因为 kubernetes 的证书是预先生成的。所以证书只覆盖了这个区域。
首先我们打开下载中百度网盘链接,我们可以看到这 3 个版本,它们分别对应 kubernetes 的 1.10.11 1.11.5 1.12.3 这 3 个版本。
github 网页
网页下部的下载链接
百度网盘中可选择的版本
我们以 1.11.5 为例 演示 2 个案例
在这一个案例里,我们将作下面的演示,在一台主机上使用 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
一切都被删除干净了,所有的服务都删除了,网络也恢复到一开始的状况,就这么简单
现在我们开始第二个案例 单机作为学习是够了,但是要作为生产环境还是不够的。现在我们演示三节点高可用系统的搭建,然后再演示如何不断加入新的节点到这个集群里 。
首先我准备了 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 给出反馈。让我们把它变得更好。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.