rancher下的kubernetes之二:安装rancher和kubernetes

在上一章《 rancher下的kubernetes之一:构建标准化vmware镜像》,我们做了个通用的虚拟机镜像,可以root登录,apt已经更新,docker也装好了,现在我们就来安装rancher,再搭建kubernetes环境;

前提条件

由于要用到谷歌的服务,所以要求您的网络环境可以科学上网,具体的方案就不在这里说了;

使用标准化镜像

使用上一章制作好的虚拟机文件,整个文件夹复制粘贴三份,如下图所示:

如上图,ubuntu16server64是上一章制作的虚拟机的文件夹,复制成了三份:master、node1、node2;

启动master

用vmware打开master文件夹中的虚拟机文件,启动前记得修改虚拟机名称,如下图:

启动时弹出的窗口,选择我已复制该虚拟机,如下图:

修改主机名

启动后第一件事是修改hostname: 1. 打开/etc/hostname文件; 2. 删除所有内容,再添加”master”,保存后退出; 3. 执行命令reboot重启虚拟机;

确保防火墙已经关闭

执行命令ufw status查看防火墙状态,如果不是inactive,就要执行ufw disable命令关闭防火墙;

安装rancher

在虚拟机的命令行执行以下命令,会下载rancher的docker镜像,并运行一个容器:

docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable

执行成功后,执行docker ps命令得到该容器的ID,例如“87f432784321”,再执行docker logs -f 87f432784321,就能看到该容器的实时日志,如下图:

日志滚动到下列信息的时候,rancher已经启动完成了:

访问rancher

虚拟机的ip是192.168.119.148,所以我们在当前的windows下打开浏览器输入“192.168.119.148:8080”,即可看到rancher的欢迎页面,如下图:

如下图,在网页的右下角选择语言“简体中文”:

现在rancher服务已经运转正常了,接下来我们用rancher创建一套kubernetes环境吧,此时请确保可以科学上网,因为要去谷歌的仓库下载docker镜像了;

创建kubernetes环境

如下图,点击“环境管理”:

如下图,点击“添加环境”:

如下图,创建一个kubernetes环境:

如下图,此时将鼠标放到红框位置,就能看见新增的“kubernetes001”环境了,点击下图蓝框位置,切换到”kubernetes001”环境:

切换到“kubernetes001”环境的页面如下图所示,提示我们要至少加入一个主机,点击红框中的“添加主机”:

如下图,请确认今后新加的主机通过什么地址可以访问到当前的rancher服务器,本次实战的虚拟机ip就是192.168.119.148,所以不用更改直接点击下面的“保存”按钮即可,如果您的机器有多个ip或者新机器可用host访问当前rancher,请选择“其他地址”并填入正确信息;

跳转的页面如下图所示,红框中的内容就是新的主机加入时需要数据的命令,请复制并妥善保存,然后点击“关闭”:

现在我们已经创建了kubernetes环境,主机加入时用到的命令也已经拿到,是时候添加新的主机了;

添加主机

“添加主机”就是将新的服务器加入到rancher下新建的kubernetes001环境中,还记得我们从标准化镜像文件夹复制的三个文件夹么?如下图:

用vmware将上图红框中的node1镜像打开,记得修改虚拟机名称为“node1”,启动时弹出的窗口,选择我已复制该虚拟机;

启动后,先修改/etc/hostname为node1,再确认防火墙已经关闭,然后重启虚拟机node1;

主机加入kubernetes环境

还记得master上生成的那段命令么?如下图:

在node1上打开控制台,然后执行上面那个命令;

执行时会在node1的docker上运行一个rancher/agent容器,并注册到kubernetes环境;

此时去页面上点击左上角的“kubernetes001”,会发现页面展示了如下信息:

可以看到node1已经添加成功了,正在执行kubernetes服务的各个步骤;

这时候点击顶部的“基础架构”->“主机”,可以见到如下的信息,各种服务的部署和启动,忙得热火朝天的:

点击顶部的“基础架构”->“容器”,可以见到如下的信息,各个docker的容器处于各种不同的状态:

此时从下载docker镜像到启动各个服务,都是耗时的操作,请静待20分钟左右吧;

等到所有的容器都启动成功,状态会全部变成绿圈,如下图:

再点击左上角的“kubernetes001”,看到Kubernetes仪表板的按钮已经出来了,如下图:

点击“Kubernetes UI”按钮,就会跳转到kubernetes的dashboard页面,如下图:

如果您看不到上图页面,而是一片白屏,请稍等几分钟,因为dashboard服务启动较慢;

现在kubernetes环境已经搭建成功了,接下来我们部署一个应用试试吧;

部署tomcat服务

点击顶部的”KUBERNETES”菜单,再点击”>_CLI”子菜单,就会出现控制台页面,我们可以在此页面输入kubectl命令,如下图:

在上图的控制台输入以下命令,立即创建一个deploy,镜像是tomcat,两个副本:

kubectl run tomcat001 --image=tomcat:7.0.82-jre7 --replicas=2 --port=8080

去dashboard页面,点击左侧的“部署”,可以看到我们刚刚创建的tomcat001,如下图:

等下载镜像完成,并且启动容器成功后,页面更新如下:

回到刚刚输入命令行的控制台,输入以下命令创建一个服务:

kubectl expose deploy tomcat001 --type=NodePort --target-port=8080

再去dashboard页面点击左下角的”服务“,就能看到刚刚创建的服务了,并且8080端口被映射到node1的30991端口,如下图:

node1的ip是192.168.119.153,所以,此时我们在windows系统中打开浏览器,输入:192.168.119.153:30991 ,就能访问到kubernetes环境中的tomcat容器了,如下图,熟悉的tomcat欢迎页:

以上就是加入主机到kubernetes环境并验证的过程,另一个主机的加入请读者您自行操作;

至此,在rancher下搭建kubernetes的实战就全部结束了,感谢rancher帮助我们简单快速的搭建了kubernetes环境,让我们可以更方便的畅游kubernetes,学习和实践更多的容器化知识;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏软件

对于UI设计师来说,恐怕这样的图标素材干货还是越多越好哇

来源:UI巴巴 作者:兴元君 今天给大家收集9个可免费下载的图标网站,对于UI设计师来说,恐怕这样的干货还是越多越好哇。 01-iconfont 很多可爱的小表...

2220
来自专栏源码之家

DZ重置ucenter密码的解决方法

1165
来自专栏优启梦

文章内的新浪短网址https无法访问解决办法!

大家都知道最近新浪短网址出问题了! 以前蓝奏云、文章分享出来的地址都是https://t.cn的 导致丢失好多量! 一个一个修改太麻烦了,我们只能暂时将 htt...

4007
来自专栏学海无涯

iOS开发之使用Git的基本使用(二)

通过前文iOS开发之使用Git的基本使用(一)的学习,相信大家对如何将iOS项目通过Git传到GitHub账户上有了一个基本的了解,其过程是相对繁琐和容易出错的...

582
来自专栏算法修养

Docker 学习应用篇之二: Docker的介绍和安装

   之前说过Docker的好处,Docker可以集装箱化的部署应用程序。那么Docker是通过什么实现的呢。要理解Docker内部构建,需要先理解Docker...

40810
来自专栏吴伟祥

配置MYSQL远程连接 原

想要远程连接阿里云服务器安装的mysql(不是RDS,RDS申请外网地址即可)需要两个步骤,

612
来自专栏磨磨谈

解决calamari无法获取节点信息的bug

一直在做calamari的相关的一些打包和安装的工作,都是业余弄的东西,所以并没有仔细的进行功能点的验证测试,正好ceph社区群里面有人问了个问题

682
来自专栏刺客博客

宝塔面板常用文件路径

1796
来自专栏向治洪

android studio编译慢的问题

1.修改android studio的使用堆内存,根据自己电脑的内存,尽量设置的大一点,点击help->如下图: ? ?    2.接下来设置使用离线gradl...

1878
来自专栏我和PYTHON有个约会

21. 企业级开发基础2:使用第三方模块

python提供了非常强大的程序设计和编程开发的平台,但是python本身提供的功能在一定程度上并不是非常完善或者完整的契合我们的项目需要。

902

扫码关注云+社区