重新指定Gateway节点
网关服务通过 Kubernetes DaemonSet
控制器,以守护进程的方式部署于 Rainbond 集群中。它具有分布式的特性,可以部署在集群中的任意一个或一批节点上,部署了 rbd-gateway
网关服务的节点,称之为网关节点。
Rainbond集群部署之初,会要求指定集群中的某些节点为网关节点。在集群搭建完成之后,如果需要重新规划,希望重新指定网关节点,也是可以的。
- 首先,需要保证新网关节点没有监听
80、443、6060、7070、8443、10254、18080、18081
端口,避免端口冲突。 - 其次,确保
rainbond-operator
使用最新的镜像:
image: registry.cn-hangzhou.aliyuncs.com/goodrain/rainbond-operator:v1.1.1
修改调度亲和性段落的描述:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
values:
- 172.24.206.40
上述调度亲和性的描述中,values
指定的是 node 的名字,通过 kubectl get node
命令获取
- 第一种场景:网关外层没有负载均衡。 这种场景下,
rbd-gateway
服务所在的服务器,就是平台上运行中应用的访问入口。外部访问流量,就通过这个服务器的 IP 流入。那么,就需要修改:
- 应用绑定域名的解析地址。从域名解析服务供应商处变更域名的解析地址即可。
- 应用开启对外 TCP 协议之后,暴露 <网关 IP>:<端口>时,这个 IP 也应该被更改。
操作方式是,登陆 Rainbond 所使用的数据库,默认为 rbd-db
组件 。更新 console.region_info
表内容:
update console.region_info set wsurl='ws://<新网关IP>:6060',tcpdomain='<新网关IP>';
Rainbond 所有组件都通过 这种自定义资源类型来维护、配置,也就是说,你可以通过这种方式,指定任意一个 Rainbond 组件调度到某个或者某一类节点上去。