一、原理

原理可以参考https://docs.nats.io/running-a-nats-service/configuration/gateways
Cluster内部server实例的连接是使用—route 参数(一般使用4222端口)
Cluster之间增加了—gateway 参数,主要是为了通过合并减少cluster间连接数量和传输内容。

二、k8s上的部署

nats cluster的helm部署文件:

https://github.com/nats-io/k8s

1、增加外部访问配置
除client(内部一般使用4222)需要配置外部访问外,还需要增加gateway的外部访问(本例使用7522),可以使用nodeport或者ingress。

2、在helm中增加cluster和gateway配置
nats cluster name
nats gateway
说明:本cluster访问也要配置进去,使用service方式访问。

三、测试

使用nats-box测试:

kubectl exec -it nats-server-box-7b7755fcdd-t42rs – sh

常用命令:

nats stream ls #查看所有stream
nats stream add TEST1 --subjects="test1.*" --replicas=1 #添加名称为TEST1的stream
nats stream rm TEST1 #删除名称为TEST1的stream
nats pub test1.001 "version1.0" #发布subject
nats sub test1.*  #订阅subject
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐