ocp接管obd部署的obproxy问题

obd部署的obproxy启动方式:

admin@ubuntu:~$ ps -ef |grep obproxy  | grep -v grep 
admin    61273     1  0 Jun16 ?        00:01:48 bash /data/admin/obproxy/obproxyd.sh /data/admin/obproxy 10.xx.xx.155 2883 daemon
admin    61285     1  7 Jun16 ?        03:37:18 /data/admin/obproxy/bin/obproxy --listen_port 2883

ocp部署的obproxy启动方式(configurl方式):

dmin@ubuntu:~/obproxy/log$ ps -ef |grep obproxy  | grep -v grep 
admin    20534     1 14 Jun17 ?        02:43:33 /home/admin/obproxy/bin/obproxy -p 2883 -n obdemo_proxy -o server_tcp_keepcnt=2,client_tcp_keepcnt=2,client_sock_option_flag_out=3,server_tcp_keepintvl=5,client_tcp_keepidle=5,prometheus_sync_interval=1s,sock_option_flag_out=3,obproxy_config_server_url=http://xx.xx.xx.236:28080/services?User_ID=alibaba&UID=test&Action=GetObProxyConfig&ObproxyClusterName=obdemo_proxy,prometheus_listen_port=2884,client_tcp_keepintvl=5,enable_metadb_used=false,skip_proxy_sys_private_check=true,log_dir_size_threshold=10G,proxy_mem_limited=2G,enable_full_username=true,enable_proxy_scramble=true,enable_strict_kernel_release=false,server_tcp_keepidle=5
admin    23213     1  0 Jun17 ?        00:00:35 /bin/bash /home/admin/obproxy/bin/obproxyd.sh -c checkalive -p 2883 -r /home/admin/obproxy -n obdemo_proxy

两个进程的etc目录下都有完成的参数配置,ocp部署的 etc目录下多了两个文件:

obproxy_rslist_info.json
obproxy_config_server_info.json

但是ocp启动obproxy的参数明文化,仅仅是这亮点区别吗?

谢谢!

启动参数只是一部分区别。还有proxyconfig参数里有不同的设置。

OBProxy 的代理模式:configUrlrsList 。功能很简单,高效转发用户请求的前提条件就是时刻掌握着 OB 集群的 rootserver 信息。

  • configUrl 模式,即是指 OBProxy 是从 config server 中获取 rootserver 信息的。而我们只需要告诉 OBProxy configUrl 即可。OBProxy 会不断的去 configServer 更新 rootserver 的信息。当然,它也会在自己本地维护一份,防止 config server 挂了,自己又重启后完全失去 rootserver 的信息。这种模式下,可以通过 OBProxy 连接哪些 OB 集群完全取决于 config server 中有哪些 OB 集群。
  • rsList模式,我们就需要将集群名称、以及集群的 rootserver list 信息提供给 OBProxy。此后,rootserver 的信息就有 OBProxy 直接从 OB 集群获得并维护在本地。这种模式下,OBProxy 只能连接一个 OB 集群。
1 个赞

谢谢老师回复,那obd部署的obproxy能否用用obd命令或者其他方式转成ocp部署的obproxy?

或者两者可以互相转换。

这是obproxy配置的configurl模式:
obproxy_config_server_url=http://xxx:28080/services?User_ID=alibaba&UID=test&Action=GetObProxyConfig&ObproxyClusterName=obdemo_proxy

目前只是配置一个observer集群,比较好奇的时候,如果配置的多个observer集群,这个参数是怎么配置的?目前没有环境,想问问。

目前没有这种方式,理论上是可以修改多个组件元数据实现,不过obproxy是无状态服务,与其耗时修改不如重装更方便。

在OCP上多obproxy集群添加可连接的oceanbase集群 时候会在配置中新增新关联集群的配置信息。

可以网页执行这个ConfigUrl地址,查看到configServer里关联ob的信息。