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 : 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.-jre7 --replicas= --port=
去dashboard页面,点击左侧的“部署”,可以看到我们刚刚创建的tomcat001,如下图:
等下载镜像完成,并且启动容器成功后,页面更新如下:
回到刚刚输入命令行的控制台,输入以下命令创建一个服务:
kubectl expose deploy tomcat001 --type=NodePort --target-port=
再去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,学习和实践更多的容器化知识;
rancher下的kubernetes之二:安装rancher和kubernetes的更多相关文章
- kubernetes实战(二十八):Kubernetes一键式资源管理平台Ratel安装及使用
1. Ratel是什么? Ratel是一个Kubernetes资源平台,基于管理Kubernetes的资源开发,可以管理Kubernetes的Deployment.DaemonSet.Stateful ...
- kubernetes实战(二十九):Kubernetes RBAC实现不同用户在不同Namespace的不同权限
1.基本说明 在生产环境使用k8s以后,大部分应用都实现了高可用,不仅降低了维护成本,也简化了很多应用的部署成本,但是同时也带来了诸多问题.比如开发可能需要查看自己的应用状态.连接信息.日志.执行命令 ...
- 【Linux】【Services】【SaaS】Docker+kubernetes(8. 安装和配置Kubernetes)
1. 概念 1.1. 比较主流的任务编排系统有mesos+marathon,swarm,openshift(红帽内部叫atom服务器)和最著名的kubernetes,居然说yarn也行,不过没见过谁用 ...
- kubernetes入门(08)kubernetes单机版的安装和使用
kubectl get - 类似于 docker ps ,查询资源列表 kubectl describe - 类似于 docker inspect ,获取资源的详细信息 kubectl logs - ...
- rancher下的kubernetes之三:在linux上安装kubectl工具
本章是<rancher下的kubernetes>系列之三,前面两章我们完成了racher下搭建kubernetes环境的实战,本章我们来安装kubectl工具: 系列文章地址 <ra ...
- rancher下的kubernetes之一:构建标准化vmware镜像
学习kubernetes的时候,我们需要在kubernetes环境下实战操作,然而kubernetes环境安装并不容易,现在通过rancher可以简化安装过程,咱们来实战rancher下的kubern ...
- Docker For Mac 下安装 Rancher
https://www.jianshu.com/p/5fb3e1a998d6 Docker For Mac 下安装 Rancher 原文:如何在 OS X 上安装 Rancher Rancher 是 ...
- 安装rancher以及使用rancher倒入kubernetes集群和添加及管理集群
1.docker安装rancher [root@rancher ~]# docker run -d --name rancher --restart=unless-stopped -p : -p : ...
- docker 下 安装rancher 笔记
sudo yum update 更新系统环境 curl -sSL https://get.docker.com/ | sh 安装最新docker版本 systemctl start docker.se ...
随机推荐
- Deep Learning(1)
深度学习是机器学习研究中的一个新的领域,其动机在于建立.模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本.深度学习是无监督学习的一种. 深度学习的概念源于人工神经网络的 ...
- js判断浏览器的类型和获得浏览器的版本
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> ...
- cocos代码研究(8)持续动作子类学习笔记
理论部分 时间间隔动作(ActionInterval)是一个在一段时间内执行的动作. 它有一个开始时间和完成时间.完成时间等于起始时间加上持续时间. ActionInterval的子类与位置有关的动作 ...
- VS2010/MFC编程入门之九(对话框:为控件添加消息处理函数)
创建对话框类和添加控件变量在上一讲中已经讲过,这一讲的主要内容是如何为控件添加消息处理函数. MFC为对话框和控件等定义了诸多消息,我们对它们操作时会触发消息,这些消息最终由消息处理函数处理.比如我们 ...
- vue 基础笔记
Vue01笔记 ES6模块使用和新的函数声明方式 a) Import 一定不能放在函数内, 建议放在上方 b) Export 除了声明式的以外, 尽量放在代码的下方 Import {name,age} ...
- 用通俗的语言解释restful
实现了REST规范的Web API就叫RESTful API. 简单来说:就是用url定位资源,用http描述来操作资源. web是什么:分布式信息系统为超文本文件和其他对象(资源)提供访问入口. 资 ...
- sqoop2-1.99.5-cdh5.5.4.tar.gz的部署搭建
不多说,直接上干货! 首先,说下博主我,为什么,好端端的Sqoop1用的好好的,然后又安装和学习Sqoop2? 因为,在Cloudera Hue里的Sqoop,是需要Sqoop2. HUE配置文件hu ...
- g711u与g729比较编码格式
•g711a—编解码格式为G.711 alaw •g711u—编解码格式为G.711 ulaw (the default) •g729—编解码格式为G.729 •g729a—编解码格式为G.729a ...
- openwrt生成的交叉编译器在哪里
答:在staging_dir目录下,示例如下: 编译一个arm64架构所生成的编译器在staging_dir/toolchain-aarch64_generic_gcc-7.4.0_musl/bin/ ...
- 使用 switch 对值进行分支
与处理 TRUE 和 FALSE 条件的 if 相比,switch 语句则是用来处理数字或者字符串,并根据输入返回某个分支.假设输入一个整数 n,switch 返回从第 1 个参数开始的第 n 个参数 ...