Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

时间:2023-02-19 16:11:06

1、Rainbond是什么?

Rainbond 是一个云原生应用管理平台,使用简单,不需要懂容器、Kubernetes和底层复杂技术,支持管理多个Kubernetes集群,和管理企业应用全生命周期。

2、为什么选择Rainbond?

Rainbond 遵循 以应用为中心 的设计理念,统一封装容器、Kubernetes和底层基础设施相关技术,让使用者专注于业务本身, 避免在业务以外技术上花费大量学习和管理精力。同时,Rainbond 深度整合应用开发、微服务架构、应用交付、应用运维、资源管理,管理高度自动化,实现统一管理所有应用、所有基础设施和所有IT流程。

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
    

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

  • http://192.168.231.138:7070/

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

  • 完成管理员注册,用户名:admin,密码:xu**kun

  • 创建一个节点的k8s集群测试用,节点是奇数个1,3,5...;140机器上需安装好ssh服务

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

  • 点击开始安装,会弹出执行命令框,注意:执行脚本的用户需要有执行sudo权限

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

  • Ssh免密登录配置,否则ssh部署集群报错,没有权限

    在192.168.231.138机器上,执行命令:udo chmod 777 /home/xujk/.ssh/id_rsa;修改文件加权限,600权限不可以;
    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建
    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

  • Init_node官网脚本需要修改,否则在ubuntu系统中执行会报错误

    check_user_permission方法:

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

    Docker有执行docker命令的权限,但是添加集群的时候,报error这个错误,su命令切账户会报这个错误,加上sudo没问题了

    check_resource方法:

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

    check cpu与check memory报错,保证你的机器能够满足条件即可,可以不验证,这里应该是ubuntu获取cpu个数与内存大小没有取到,报错;也可以改变方法,使其在ubuntu系统中可以取到数值即可

    add_ssh_rsa方法,可以免密登录ssh:

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

    注销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
    
  • 安装步骤截图

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

4、创建一个mysql应用组件

  • 从应用市场安装mysql单机版

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

  • 进行授权即可安装

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建
    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

  • 安装过程需要几分钟,可查看日志,查看构建状况

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建
    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

  • 安装成功后,应用面板变成绿色

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

  • 配置mysql容器对外访问,mysql组件面板中,点击对外服务,管理访问策略

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建
    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建
    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

  • 通过mysql客户端访问工具访问10000端口;连接成功

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建
    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

5、从源代码构建java应用组件

  • 在admin的团队下面,点击新建-从源码构建,这里用官网的源码

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

  • 确认创建后,系统会自动识别项目信息,帮我们构建组件

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

  • 过几分钟后,系统就会帮我们自动创建完应用,非常方便

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建
    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建
    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

  • 应用组件创建完后,我们可以通过组件的端口面板,查看访问信息

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建
    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

  • 我们可以通过应用下的面板,通过编排模式,从java应用拉一根线关联到mysql,是两个组件关联上;这时候,java应用可以通过环境变量获取到mysql数据库的连接信息等

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

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
    
    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建
  • 编辑kube配置文件,复制kubeconfig的内容到~/.kube/config文件中

      mkdir ~/.kube/
      sudo gedit ~/.kube/config
    
    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建
    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建
  • 执行命令:kubectl get node

    Rainbond ubuntu20.04单主机(allinone)部署及简单应用构建

https://gitee.com/xujk-27400861/rainbond-ubuntu20-template