我有两个应用程序,都部署在同一集群中。
现在从网络上,有一个ajax请求从api获取数据,但它总是返回502 Connection refused
。
这是我的jquery代码(网络)。
$.get("http://10.43.244.118/api/users", function (data) {
console.log(data);
$('#table').bootstrapTable({
data: data
});
});
注意:当我将服务类型从LoadBalancer
更改为ClusterIP
时,它可以正常工作。
答案 0 :(得分:1)
ClusterIP服务(通常)仅在群集内运行。从技术上讲,您可以从外部使CNI地址空间可用,但这很少见,您可能不应该依靠它。将某些东西暴露在集群外部的正确方法是NodePort服务或LoadBalancer(这是NodePort加云负载平衡器)。
答案 1 :(得分:0)
1\Ajax is a front-end call to api.
2\The front-end call is to directly communicate with the user(Browser) and the called end and the api service.
3\ ClusterIP is internal to the cluster,User(Browser) cannot communicate with it.
4\ NodePort and LoadBalancer can expose the internal network, of course, it can be accessed normally.