重新指定Gateway节点

    网关服务通过 Kubernetes DaemonSet 控制器,以守护进程的方式部署于 Rainbond 集群中。它具有分布式的特性,可以部署在集群中的任意一个或一批节点上,部署了 rbd-gateway 网关服务的节点,称之为网关节点。

    Rainbond集群部署之初,会要求指定集群中的某些节点为网关节点。在集群搭建完成之后,如果需要重新规划,希望重新指定网关节点,也是可以的。

    • 首先,需要保证新网关节点没有监听 80、443、6060、7070、8443、10254、18080、18081 端口,避免端口冲突。
    • 其次,确保 rainbond-operator 使用最新的镜像:
    1. image: registry.cn-hangzhou.aliyuncs.com/goodrain/rainbond-operator:v1.1.1

    修改调度亲和性段落的描述:

    1. spec:
    2. affinity:
    3. nodeAffinity:
    4. requiredDuringSchedulingIgnoredDuringExecution:
    5. nodeSelectorTerms:
    6. - matchExpressions:
    7. - key: kubernetes.io/hostname
    8. values:
    9. - 172.24.206.40

    上述调度亲和性的描述中,values 指定的是 node 的名字,通过 kubectl get node 命令获取

    • 第一种场景:网关外层没有负载均衡。 这种场景下, rbd-gateway 服务所在的服务器,就是平台上运行中应用的访问入口。外部访问流量,就通过这个服务器的 IP 流入。那么,就需要修改:
    1. 应用绑定域名的解析地址。从域名解析服务供应商处变更域名的解析地址即可。
    2. 应用开启对外 TCP 协议之后,暴露 <网关 IP>:<端口>时,这个 IP 也应该被更改。

    操作方式是,登陆 Rainbond 所使用的数据库,默认为 rbd-db 组件 。更新 console.region_info 表内容:

    1. update console.region_info set wsurl='ws://<新网关IP>:6060',tcpdomain='<新网关IP>';

    Rainbond 所有组件都通过 这种自定义资源类型来维护、配置,也就是说,你可以通过这种方式,指定任意一个 Rainbond 组件调度到某个或者某一类节点上去。