-
Notifications
You must be signed in to change notification settings - Fork 469
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
请问k8s集群内服务连接nacos用什么地址? #221
Comments
@ paderlol |
用nodeport可以,不用peerfinder插件就行了,自己配置集群节点就行,还有自己排查原因,是不是集群选主没成功 |
不是选主问题,麻烦看下这里alibaba/nacos#5860 |
nacos2.0.1,使用了peerfinder nacos集群本身没有问题,nacos-expose.ops.svc.cluster.local:9848是单独启的k8s-nodeport地址,发现开启istio注入pod无法连接nacos部分接口 |
使用nodeport就不能用peerfinder,另外端口对外需要开放8848和9848,然后你用nodeport估计没法用客户端注册,因为客户端grpc端口会根据主端口加1000算出来的,你代理成nodeport的假设30000多也没用,因为客户端不会用你开放的grpc端口 |
建议使用反代 |
nodeport的代理端口开启了对应的8848和9848的,pod注册没有问题,就是istio开了sidecar注入就连接不稳定了 然后你用nodeport估计没法用客户端注册开发本地调试,使用nodeport走外网ip,用grpc协议注册没问题 |
使用nodeport就不能用peerfinder请问这个的意思是指nacos内部节点访问svc地址吗?这种配置?https://github.com/nacos-group/nacos-k8s/blob/master/deploy/nacos/nacos-no-pvc-ingress.yaml |
反代是指ingress吗?现在主要没k8s内部pod注册nacos问题,外部服务注册没开始istio注入还好 |
不是,是你你要对外开放,外部客户端访问的grpc端口是主端口自动+1000,不能你自己配置,就是外部你配置的是8848,他默认内部访问grpc就是9848,懂了吗?所以你开nodeport没用 |
现在是k8s内部服务注册,能连上grpc的9848端口,只是/BiRequestStream/requestBiStream接口请求返回status状态码是0,注册失败 还是回到最还是问题疑问吧,k8s内部服务(spring boot)连接nacos的地址究竟用那种方式最好? 2,直接访问nacos所有节点地址,如 3,用自己创建的svc-nodeport地址,如 |
第二个就行了,不过你需要访问console还是需要放开8848地址 |
好的,我在试下,谢谢,nacos的web用第三个nodeport访问没有问题 |
用了istio那个转发是不是http2的问题 |
另外你可以看下这个,是不是因为service端口没有写明是grpc,istio如果用grpc必须在name上明确,你可以看下这个istio官方文档https://istio.io/latest/docs/ops/configuration/traffic-management/protocol-selection/ |
恩开始也怀疑svc-nodeport没我写对,istio没适配到走http2,看见有说要写这样
|
恩,我参考这个再试试,谢谢指导。究竟name前缀是http2还是grpc。。有文章说用了grpc反而不通 |
grpc吧 |
有文章说用了grpc反而不通 |
因为客户端本来就是grpc,http2和grpc头不一样的,不知道istio是不是这个http2的标头是否包含grpc的 |
8848不是grpc啊,只有9848是 |
今天多次测试: |
网络不稳定可能跟k8s或者istio转发相关,这个需要自己去调试,目前我自己公司使用了aws eks 1.4.2版本没有这个问题 |
都是K8S集群内部访问,测试不是网络不稳定啊 |
那你说的不稳定,丢失是? |
注册上nacos,服务列表里有服务,一会有不在了,或者增加其他服务pod数量,nacos服务列表里又找不到 |
这个我没接触过,感觉是你开启新pod后,envoy这里是不是会有个刷新iptables的操作导致的 |
以前用zookeeper,同样开启istio注入功能,没这个问题呢 |
zookeeper没有使用grpc |
嗯是的,我们一直怀疑还是走grpc有关系,nacos 1.4没走grpc |
配置中心就不用放到k8s上了吧 |
我的nacos版本是2.0.4,这几天测试的时候也发现了这个问题,看下来还是跟istio代理有关。
|
alibaba/nacos#10141 |
k8s内部pod连接nacos集群地址是这样?
"nacos-0.nacos-headless.default.svc.cluster.local:8848 nacos-1.nacos-headless.default.svc.cluster.local:8848 nacos-2.nacos-headless.default.svc.cluster.local:8848"
还是用svc的nodeport地址呢?
我开启了istio的注入后,发现后台pod无法注册上nacos,目前连接nacos使用的是svc的nodeport
The text was updated successfully, but these errors were encountered: