Consul 服务管理中心在Rainbond上的部署及应用制作

一.关于Consul


Consul 是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面。 这些功能可以根据需要单独使用,也可以一起使用以构建完整的服务网格。

Consul 需要一个数据平面,并支持代理和本机集成模型。

Consul 附带了一个简单的内置代理,因此开箱即用,但也支持Envoy等第三方代理集成。

二. 快速安装方式

Consul 应用已分享到Rainbond应用市场,通过 Rainbond社区开源商店 即可一键安装。

三. 应用制作流程

制作过程使用官方提供的Docker镜像,对启动脚本进行修改,实现扩展实例数后,新增实例自动加入集群

    if [ "${HOSTNAME#*-}" = '0' ];then
        shift
        set -- consul agent \
            -data-dir="$CONSUL_DATA_DIR" \
            -config-dir="$CONSUL_CONFIG_DIR" \
            $CONSUL_BIND \
            -server \
            -bootstrap \
            -ui \
            -node=${HOSTNAME} \
            -client='0.0.0.0'
    else
        shift
        set -- consul agent \
            -data-dir="$CONSUL_DATA_DIR" \
            -config-dir="$CONSUL_CONFIG_DIR" \
            $CONSUL_BIND \
            -server \
            -ui \
            -node=${HOSTNAME} \
            -client='0.0.0.0' \
            -join="${SERVICE_NAME}-0.${SERVICE_NAME}"
    fi

使用镜像方式进行部署,设置部署服务类型为有状态多实例,扩展实例数为3,启动组件。

四. 访问web界面

Consul 服务默认web界面访问端口为8500,访问对应地址,确定node数和实例数相同

具体使用及验证方式请参考Consul官方文档