访问在kubernetes集群内创建的微服务(Laravel/Lumen PHP)



我在理解和实现这一点方面遇到了一些困难。

因此,基本上我已经创建了一个API网关,它接收来自外部世界的流,这个网关是用Lumen(PHP(创建的,在一个kubernetes集群内,我想访问同一个kuBernnetes集群中的另一个微服务,也是一个Lumen,并使用名为microquilino-service的PHP。我使用谷歌云平台来做到这一点。我可以访问微服务,但当我尝试导航时,在微服务中抛出菜单,我无法访问该微服务中的另一个页面,因为它一直在说";微quilino服务:8081/支付";,地址中的不存在。

这个地址似乎不存在,我不知道我该怎么做才能让它正常工作,这样我就可以在没有任何麻烦的情况下导航我的微服务。

我目前正在使用curl库通过这样做来调用此服务:

apiGatewayController.php

public function showCurrentUser(Request $request)
{

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://microinquilino-service:8081/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);

curl_exec($ch);
curl_close($ch);
}

在这一点上,我们将非常感谢所有的帮助!提前谢谢。

您的PHP应用程序pod/容器需要部署到与microinquilino-service服务相同的命名空间中。如果它们位于不同的命名空间中,您的PHP应用程序将找不到该服务。

该服务需要定义为:

apiVersion: v1
kind: Service
metadata: 
name: microinquilino-service
namespace: my-namespace # Same NS as the PHP app
spec:
selector:
app: microinquilino
ports:
- protocol: TCP
port: 8081
targetPort: 8081

最新更新