前言

以往安装部署 Rainbond 的方式都无法绕过 Kubernetes 集群的搭建,无论是作为开发环境还是用于生产交付,部署的过程都非常依赖于服务器或云主机。这在体验 Rainbond 云原生应用管理平台的过程中设置了较高的门槛。然而对于个人开发者而言,准备一台服务器甚至多台服务器,才可以体验到这种企业级产品,是非常奢侈的。从今天开始,Rainbond 开辟了一条可以快速体验的道路,借助常见的个人 PC 平台(诸如 MacOS、Windows 等操作系统)上的 Docker Desktop ,以启动一个容器作为代价,提供一个全功能的 Rainbond 体验环境。这个部署过程被压缩到了 一条命令 运行,10分钟就可以体验到最新版本的 Rainbond。 接下来,将为大家介绍如何在个人 MAC 笔记本上安装使用Rainbond。

MAC目前共分为两种芯片,一种是intel芯片,另外一种就是苹果最新的M1芯片(ARM版本),Rainbond目前不仅仅支持intel芯片,对于新款的M1也提供了支持,这次适配在任何一台MAC上都可以轻松启动Rainbond,这一体验尤其适合个人开发者。通过这种途径安装 Rainbond ,会在短时间内得到一整套开箱即用的单机环境,免去繁琐安装集群的痛苦,对接集群的痛苦,让你在任何笔记本上,台式机上都可以随时随地,实现高效开发测试。

安装Docker Desktop

安装 Rainbond 之前,我们需要在个人 PC 上安装Docker Desktop ,它可以帮助我们在MAC上运行容器。Rainbond 的控制台会以容器的方式运行起来,而在控制台容器中,会以 Docker In Docker 的形式,运行起所有支撑 Rainbond 高级功能的组件。同时在控制台容器中内置 K3s 来提供容器的调度编排能力。

安装的 Docker Desktop 对于版本,和资源限额有一定要求:

Docker Desktop版本 MAC 内存 MAC CPU
4.2及以下 8G预留 2预留

安装Rainbond

启动之前需要定义 Rainbond 网关工作的 IP 地址,确保外界可以访问内部应用组件。IP地址在MAC上可以通过在终端执行 ifconfig 命令获得,或者按住 Option 键的同时点击右上角 WIFI 图标即可。但注意的一点就是,除非你确定这个集群中部署的业务不会对除本机之外的其他人提供服务,否则不要填写127.0.0.1。

打开 MAC 终端,后续的指令都会在命令行界面下执行

设置IP变量

export EIP=IP地址

Intel版本启动命令(与M1二选一执行):

docker run --privileged -d -p 7070:7070 -p 80:80 -p 443:443 -p 6060:6060 -p 8443:8443 \
--name=rainbond-allinone --restart=unless-stopped \
-v ~/.ssh:/root/.ssh \
-v ~/opt/rainbond:/opt/rainbond \
-e ENABLE_CLUSTER=true \
-e EIP=$EIP \
registry.cn-hangzhou.aliyuncs.com/goodrain/rainbond:v5.5.0-dind-allinone \
&& docker logs -f rainbond-allinone

M1版本启动命令(与Intel二选一执行):

docker run --privileged -d -p 7070:7070 -p 80:80 -p 443:443 -p 6060:6060 -p 8443:8443 \
--name=rainbond-allinone --restart=unless-stopped \
-v ~/.ssh:/root/.ssh \
-v ~/opt/rainbond:/opt/rainbond \
-e ENABLE_CLUSTER=true \
-e EIP=$EIP \
registry.cn-hangzhou.aliyuncs.com/goodrain/rainbond:v5.5.0-dind-arm64-allinone \
&& docker logs -f rainbond-allinone

启动成功后的会看到以下提示:

正在加载数据,预计3分钟,时间取决于磁盘性能...
正在启动Rainbond,预计5分钟...
Rainbond启动成功,可以通过访问: http://$EIP:7070 进入Rainbond控制台

切换进容器,查看集群状态

docker exec -ti rainbond-allinone bash
root@e600f21466b6:~# kubectl get po -n rbd-system

获得以下返回,说明 Rainbond 已经安装完成

NAME                                         READY   STATUS    RESTARTS       AGE
rbd-etcd-0 1/1 Running 2 (4d4h ago) 6d2h
rbd-gateway-4l2l7 1/1 Running 2 (4d4h ago) 6d2h
dashboard-metrics-scraper-7db45b8bb4-5lcnblogv 1/1 Running 2 (4d4h ago) 6d2h
rbd-webcli-6d64c66cb7-4g8bh 1/1 Running 2 (4d4h ago) 6d2h
kubernetes-dashboard-fbd4fb949-d6wbx 1/1 Running 2 (4d4h ago) 6d2h
rbd-mq-c95cf9857-x4m5b 1/1 Running 2 (4d4h ago) 6d2h
rainbond-operator-7d8649cd8b-cbllk 1/1 Running 3 (4d4h ago) 6d2h
rbd-db-0 2/2 Running 4 (4d4h ago) 6d2h
rbd-hub-64777d89d8-sjhgt 1/1 Running 2 (4d4h ago) 6d2h
rbd-node-8nfmj 1/1 Running 2 (4d4h ago) 6d2h
rbd-monitor-0 1/1 Running 2 (4d4h ago) 6d2h
rbd-eventlog-0 1/1 Running 2 (4d4h ago) 6d2h
rbd-worker-85d4f9696c-lkjn6 1/1 Running 2 (4d4h ago) 6d2h
rbd-resource-proxy-67879f484-tlq26 1/1 Running 4 (4d4h ago) 6d2h
rbd-chaos-2m7nt 1/1 Running 2 (4d4h ago) 6d2h
rbd-api-dff6bc49d-ttxrg 1/1 Running 2 (4d4h ago) 6d2h

快速熟悉Rainbond

为了让大家能够快速熟悉Rainbond,安装成功后,默认会有示例应用:

点击 团队界面 -> admin团队 -> 默认应用,即可查看Ghost示例,示例初次启动大概2分钟左右,待变成绿色,即可访问,如下图:

写在最后

本文简要介绍了一种在 MAC 电脑环境中快速体验 Rainbond 的方式,这种方式对个人开发者,或者缺乏足够服务器硬件支持的小企业、小团队非常友好。Rainbond 目前已经全面适配了 Arm64 架构的芯片,对于最终用户环境为 Arm64 架构的开发者而言,可以借助 Rainbond 有针对性的搭建开发环境。

接下来还有文章介绍如何在 Windows 环境中快速体验 Rainbond 的方式,敬请期待。

在Mac上运行Rainbond,10分钟快速安装的更多相关文章

  1. 【Istio实际操作篇】Istio入门,10分钟快速安装

    @ 目录 前言 本文说明 请大家务必查看 环境准备 详细版 入门:搭建步骤 Istio软件包下载 下载Istio 卸载 简洁版 安装 卸载 学习不走弯路,gz号「yeTechLog」 前言 上一篇讲了 ...

  2. [翻译]第三天- 在 Mac 上运行 .NET Core 应用程序

    原文: http://michaelcrump.net/part3-aspnetcore/ *** 简介 该系列文章的完整列表如下: 第一天 - 在 Windows 下安装和运行 .NET Core ...

  3. [译]在Mac上运行ASP.NET 5

    原文:http://stephenwalther.com/archive/2015/02/03/asp-net-5-and-angularjs-part-7-running-on-a-mac 这篇文章 ...

  4. mac 上运行cassandra出现的java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: : : unknown error错误解决方法

    mac 上运行cassandra出现的java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostExce ...

  5. 2019 年在 Raspberry Pi 「树莓派」上运行的 10 个操作系统推荐

    原文:2019 年在 Raspberry Pi 「树莓派」上运行的 10 个操作系统推荐 image Raspberry Pi** 是一款基于 ARM 的单板计算机,默认运行一款称为 Raspbian ...

  6. Mono 4.0 Mac上运行asp.net mvc 5.2.3

    Mono 4.0 已经发布,二进制包已经准备好,具体的发布说明参见:http://www.mono-project.com/docs/about-mono/releases/4.0.0/. 今天在Ma ...

  7. mac上运行shell脚本遇到回车字符错误

    今天运行一段其他人给的shell脚本,遇到如下问题,这个脚本的内容如下: dname=\((dirname "\)PWD") mkdir ${dname}"/rom_pu ...

  8. 5分钟快速安装Redmine项目管理软件

    公司还在使用Excel.project.word来管理项目吗?时间一长.项目参与的人多.就出现了断断续续无法连续跟踪的问题.终于忍受不了公司这种陈旧的项目管理手段了,于是花了一些时间研究了市面上常见的 ...

  9. 10分钟快速入门Redis

    Redis安装 来源:https://github.com/jaywcjlove/handbook 官方编译安装 $ wget http://download.redis.io/releases/re ...

  10. 10分钟快速搞定pandas

    本文是对pandas官方网站上<10 Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook .习惯 ...

随机推荐

  1. VulnHub-Jangow-01-1.0.1打靶记录

    知识点 NMAP参数 -sV 获取系统信息 -sT TCP扫描可能会留下日志记录 -sC 使用默认脚本(在-A模式下不需要) -p1-xxx 扫描端口号 -p- ==>等价于 -p1-65535 ...

  2. Pytorch-tensor的转置,运算

    1.矩阵的转置 方法:t() a=torch.randint(1,10,[2,3]) print(a,'\n') print(a.t()) 输出结果 tensor([[2, 8, 2], [9, 2, ...

  3. Object类的派生-c++

    /* * @Issue: 生成一个Object抽象类 * @Author: 一届书生 * @LastEditTime: 2020-02-24 10:34:13 */ #include<iostr ...

  4. Serverless 在阿里云函数计算中的实践

    简介: 近日,阿里云 aPaaS&Serverless 前端技术专家袁坤在 CSDN 云原生 meetup 长沙站分享了 Serverless 在阿里云函数计算 FC 的实践. 作者:CSDN ...

  5. 优化搜索排序结果从而“ 提升CTR、CVR业务指标”

    简介: 搭建搜索功能不难,难的是如何提高搜索质量,帮助用户快速找到心中所想的内容或商品,那么搜索结果的相关性排序则是影响用户体验最关键的一环,本文通过阿里云开放搜索电商行业解决方案和大家聊一聊如何优化 ...

  6. 阿里云边缘云ENS再升级 四大场景应用加速产业数字化落地

    ​简介: 云栖大会 | 于10月21日上午举办的边缘云应用升级与技术创新论坛中,阿里云边缘云ENS产品全面升级,从边缘云产品.技术.行业应用等维度全面阐述阿里云在边缘计算领域的技术积累.产品& ...

  7. Cube 技术解读 | 支付宝新一代动态化技术架构与选型综述

    ​简介: 支付宝客户端的动态化技术经历三个阶段:现阶段也就是第三阶段是实体组件+部分光栅化的hybrid模式,Cube 就是该模式下的产物. ​ 如标题所述,笔者将持续更新<Cube 技术解读& ...

  8. fastposter v2.9.2 最简海报生成器

    fastposter v2.9.2 程序员必备海报生成器 fastposter海报生成器是一款快速开发海报的工具.只需上传一张背景图,在对应的位置放上组件(文字.图片.二维.头像)即可生成海报. 点击 ...

  9. vue3.4中defineModel中默认值是复杂数据类型 (注意!!!)

    const drillFields = defineModel<string[]>('drillFields', { get(val) { return reactive(val || [ ...

  10. C语言(较深入原理):%s通过字符串首元素地址输出,用指针数组来作示例

    首先,我们输出一个字符串都知道是用%s来输出,但是我们并没有多想是通过什么方式来输出的. 今天我在看指针数组的时候发现了一个问题,按就是定义一个字符类型的指针数组, /*字符串的输出本身就需要他的地址 ...