我有一个3节点系统,我在其中托管了一个包含3个dbserver的基本ArangoDB集群。我正在使用Python库,它说要连接到集群,我们需要向ArangoClient提供端口8529的in列表,class.My的Python代码运行在不同的吊舱中。
使用Arangosh,我可以使用localhost:8529配置访问协调程序荚。然而,在Arangosh,我只能一次访问一个协调员舱。由于Arango安排是一个集群,所以我想以一种圆木的方式同时连接到所有三个协调员吊舱。现在,根据MongoDB的Kubernetes文档,我可以将的列表提供给MongoClient,并将其连接起来。我正在尝试类似的东西与阿兰戈协调员舱,但这似乎是行不通的。Arango文档中的示例仅指向编写“localhost-1”、“localhost-2”等。
总之,目前的问题是,我不知道如何确定Arango协调员舱的知识产权。我尝试使用协调器的内部I,我尝试使用name.8529,我尝试使用在Web中显示的协调器的端点(从ssl开始,但我用http代替了ssl ),但没有成功。
如果能在这方面提供任何帮助,我将不胜感激。如果需要更多的信息,请告诉我。从现在起一个星期以来,这个问题一直困扰着我。
发布于 2021-06-11 14:06:37
如果你遵循这个:https://www.arangodb.com/2018/12/deploying-arangodb-3-4-on-kubernetes/
有YAML配置文件,它正在创建多个荚。应用程序与ArragoDB的连接方式是使用Kubernetes service。
因此,您的应用程序将连接到Kubernetes服务,并在默认情况下管理RoundRobin负载平衡。
例如,您可以看到它正在创建三个服务
my-arangodb-cluster ClusterIP 10.11.247.191 <none> 8529/TCP 46m
my-arangodb-cluster-ea LoadBalancer 10.11.241.253 35.239.220.180 8529:31194/TCP 46m
my-arangodb-cluster-int ClusterIP None <none> 8529/TCP 46m服务my-arangodb-cluster-ea公开开放。而服务my-arangodb-cluster可以在内部使用应用程序访问。
你的流量就像
Application > Arango service (Round robin) > Arango Pods 发布于 2022-09-27 20:56:57
我想您可以使用上面提到的LoadBalancer连接到它们,在这种情况下,k8s将在协调器荚之间平衡您的请求,或者您可以显式地为每个协调器创建服务,并以您想要的方式在python配置中使用它们的IP地址。
https://stackoverflow.com/questions/67938090
复制相似问题