1、Rainbond是什么?
Rainbond 是一个云原生应用管理平台,使用简单,不需要懂容器、Kubernetes和底层复杂技术,支持管理多个Kubernetes集群,和管理企业应用全生命周期。
2、为什么选择Rainbond?
Rainbond 遵循 以应用为中心 的设计理念,统一封装容器、Kubernetes和底层基础设施相关技术,让使用者专注于业务本身, 避免在业务以外技术上花费大量学习和管理精力。同时,Rainbond 深度整合应用开发、微服务架构、应用交付、应用运维、资源管理,管理高度自动化,实现统一管理所有应用、所有基础设施和所有IT流程。
3、Docker单机版rainbond安装,参考官网url:https://www.rainbond.com/docs/installation/install-with-ui/
-
环境说明
两台ubuntu虚拟机(192.168.231.138 & 192.168.231.140),140节点作为kubernetes的一个节点
-
在138主机(前提已安装docker)上执行docker命令,创建Rainbond容器,启动 All-In-One 控制台
docker run -d -p 7070:7070 --name=rainbond-allinone --restart=always -v ~/.ssh:/root/.ssh -v /home/xujk/Work/Rainbond/rainbonddata:/app/data registry.cn-hangzhou.aliyuncs.com/goodrain/rainbond:v5.11.0-release-allinone
-
通过ip+端口号7070;访问:http://192.168.231.138:7070/
-
完成管理员注册,用户名:admin,密码:xu**kun
-
创建一个节点的k8s集群测试用,节点是奇数个1,3,5...;140机器上需安装好ssh服务
-
点击开始安装,会弹出执行命令框,注意:执行脚本的用户需要有执行sudo权限
-
Ssh免密登录配置,否则ssh部署集群报错,没有权限
在192.168.231.138机器上,执行命令:udo chmod 777 /home/xujk/.ssh/id_rsa;修改文件加权限,600权限不可以;
-
Init_node官网脚本需要修改,否则在ubuntu系统中执行会报错误
check_user_permission方法:
Docker有执行docker命令的权限,但是添加集群的时候,报error这个错误,su命令切账户会报这个错误,加上sudo没问题了
check_resource方法:
check cpu与check memory报错,保证你的机器能够满足条件即可,可以不验证,这里应该是ubuntu获取cpu个数与内存大小没有取到,报错;也可以改变方法,使其在ubuntu系统中可以取到数值即可
add_ssh_rsa方法,可以免密登录ssh:
注销600的那行代码,改为执行chmod 777这行
-
执行执行本地脚本init_node脚本命令,命令行切换到脚本所在目录执行
export SSH_RSA="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCw1bUDbNn5lb2pLXmObit2VONV8+hdngSbycpX8mmYWTGqveXlDjG+rf6us9pklZ8kjxLIvl/SO16qx3fusIMlL771ido6g0Lv/4Vco21JYUoOWrHyIliIH88CZa3LdVE/+7ns6mX28wfvcKWNaAFvptsMj8RD5G8gHHF7bcqY8Kzspj2ReRD8oqgawoyPsJiiFrEy0vgDrigwoW5RreZ+R1oKaMf3yDyNx2vNXSp1c5SPxwqMEjOlHLlmbA8FvlG5aJ1oYG3ehFxYGj2TkHds9SNfj+vkorPrBQpBI6RikPbPzSq57LqkbxYV7ytTW1g4RFRBxaX1E2dGY5tPnDC9 " && bash init_node
-
本地清理脚本执行命令,命令行切换到脚本所在目录执行:
sudo bash clean-rke
-
安装步骤截图
4、创建一个mysql应用组件
-
从应用市场安装mysql单机版
-
进行授权即可安装
-
安装过程需要几分钟,可查看日志,查看构建状况
-
安装成功后,应用面板变成绿色
-
配置mysql容器对外访问,mysql组件面板中,点击对外服务,管理访问策略
-
通过mysql客户端访问工具访问10000端口;连接成功
5、从源代码构建java应用组件
-
在admin的团队下面,点击新建-从源码构建,这里用官网的源码
-
确认创建后,系统会自动识别项目信息,帮我们构建组件
-
过几分钟后,系统就会帮我们自动创建完应用,非常方便
-
应用组件创建完后,我们可以通过组件的端口面板,查看访问信息
-
我们可以通过应用下的面板,通过编排模式,从java应用拉一根线关联到mysql,是两个组件关联上;这时候,java应用可以通过环境变量获取到mysql数据库的连接信息等
6、安装Kubectl CLI;参考官网https://www.rainbond.com/docs/ops-guide/tools/
-
在客户端机器140上运行命令
wget https://grstatic.oss-cn-shanghai.aliyuncs.com/binary/kubectl -O /usr/bin/kubectl chmod +x /usr/bin/kubectl
-
编辑kube配置文件,复制kubeconfig的内容到~/.kube/config文件中
mkdir ~/.kube/ sudo gedit ~/.kube/config
-
执行命令:kubectl get node