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

     2023-03-29     215

关键词:

【中文标题】访问在 kubernetes 集群中创建的微服务 (Laravel/Lumen PHP)【英文标题】:Accessing a micro service created inside a kubernetes cluster (Laravel/Lumen PHP) 【发布时间】:2021-08-08 07:00:07 【问题描述】:

我在理解和让它发挥作用时遇到了一些麻烦。

所以基本上我已经创建了一个从外部世界接收流量的 API 网关,这个使用 Lumen (PHP) 创建并在 kubernetes 集群内,我想访问同一个 kubernetes 集群内的另一个微服务,也一个 Lumen 并使用名为 microinquilino-service 的 PHP。我正在使用谷歌云平台这样做。我可以访问微服务,但是当我尝试导航时,我无法访问微服务中的菜单,因为它一直说“microinquilino-service:8081/payment”,即地址,不存在。

这个地址似乎不存在,我不知道我该怎么做才能让它工作,这样我就可以毫无问题地浏览我的微服务。

我目前正在使用 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);

此时将不胜感激所有帮助! 提前谢谢你。

【问题讨论】:

【参考方案1】:

您的 PHP 应用程序 pod/container 需要部署到与您的 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

【讨论】:

我目前的设置就是这样。我还需要使用 curl 库吗?一旦我发出 curl 请求,这是否意味着我开始在相对于 microinquilino-service 的 pod 内部工作,然后我就像普通的 php 应用程序一样使用它?

有没有办法访问 Istio 在 GKE 中创建的 promsd 服务?

】有没有办法访问Istio在GKE中创建的promsd服务?【英文标题】:IsthereawayaccessthepromsdservicecreatedbyIstioinGKE?【发布时间】:2020-05-2020:38:38【问题描述】:我想从集群中的另一个pod访问由Istio运行的Prometheus服务。在我使用Kind的本地开... 查看详情

尝试访问在 Windows 系统服务中创建的 QtDBus 对象时超时

】尝试访问在Windows系统服务中创建的QtDBus对象时超时【英文标题】:TimeoutwhentryingtoaccessQtDBusObjectsthatwherecreatedinaWindowssystemservice【发布时间】:2016-01-1404:16:03【问题描述】:我想使用QT/MinGW创建一个Windows系统服务,该服务通过DBU... 查看详情

当 vault 部署在专用集群上时,如何从另一个 kubernetes 集群访问 vault secret?

】当vault部署在专用集群上时,如何从另一个kubernetes集群访问vaultsecret?【英文标题】:Howtoaccessvaultsecretsfromanotherkubernetesclusterwhenvaultisdeployedonadedicatedcluster?【发布时间】:2019-10-0104:02:36【问题描述】:我在AWS的同一区域中的同... 查看详情

在kubernetes集群内访问k8sapi服务(代码片段)

所有的kubernetes集群中账户分为两类,Kubernetes管理的serviceaccount(服务账户)和useraccount(用户账户)。基于角色的访问控制(“RBAC”)使用“rbac.authorization.k8s.io”API组来实现授权控制,允许管理员通过KubernetesAPI动态配... 查看详情

Kubernetes:*** 服务器和 DNS 问题

】Kubernetes:***服务器和DNS问题【英文标题】:Kubernetes:***serverandDNSissues【发布时间】:2016-04-2223:41:42【问题描述】:我在我的(本地)Kubernetes集群中创建了一个docker-open***容器,以安全地访问我的服务并在本地调试依赖服务。我... 查看详情

Kubernetes 上微服务之间集群间通信的最佳方式?

】Kubernetes上微服务之间集群间通信的最佳方式?【英文标题】:Bestwayforinter-clustercommunicationbetweenmicroservicesonKubernetes?【发布时间】:2020-07-2110:07:36【问题描述】:我是微服务新手,想了解在Kubernetes上部署的微服务中实现以下行... 查看详情

kubernetes跨集群流量调度实战:访问控制(代码片段)

背景众所周知,Flomesh的服务网格产品osm-edge是基于SMI(ServiceMeshInterface,服务网格接口)标准的实现。SMI定义了流量标识、访问控制、遥测和管理的规范。在上一篇中,我们体验过了多集群服务(Multi-ClusterService,MCS),以及流... 查看详情

kubernetes网络自学系列|找到你并不容易:从集群内访问服务

素材来源:《Kubernetes网络权威指南》一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持!附上汇总贴:Kubernetes网络自学系列|汇总_COCOgsta的博客-CSDN博客3.5找到你并不容易:从集群内访问服... 查看详情

pod 没有在 kubernetes 中创建,但存在部署?

】pod没有在kubernetes中创建,但存在部署?【英文标题】:podarenotgettingcreatedinkubernetesbutdeploymentexists?【发布时间】:2019-10-2517:56:41【问题描述】:我有一个在Azure云上运行的集群。我在该集群上部署了对等服务。但是该部署的pod... 查看详情

kubernetes集群怎么访问外部的服务mysql,redis

...sql-testspec:ports:-port:3306同样多端口需要列出参考技术A虽然kubernetes社区一直在努力使得有状态应用成为一等公民,也推出了statefulset控制器支持pod的顺序部署,稳定的域名访问和存储访问。但鉴于MySQL部署运维的多样性和复杂性,... 查看详情

为啥我无法访问我在笔尖中创建的这个变量?

】为啥我无法访问我在笔尖中创建的这个变量?【英文标题】:WhyamIunabletoaccessthisvariableIcreatedinanib?为什么我无法访问我在笔尖中创建的这个变量?【发布时间】:2013-11-0803:35:40【问题描述】:我创建了UIView的TutorialScreen子类,... 查看详情

Kivy - 在其他屏幕中创建的访问实例

】Kivy-在其他屏幕中创建的访问实例【英文标题】:Kivy-AccessinstancecreatedinotherScreen【发布时间】:2020-07-1501:15:04【问题描述】:我在我的第一个Screen中创建了一个类(Player类)的一些实例,并希望在另一个Screen中访问这些实例(... 查看详情

访问在 Storyboard 中创建的链接 Segue

】访问在Storyboard中创建的链接Segue【英文标题】:AccessinglinkedSeguescreatedinaStoryboard【发布时间】:2014-06-1215:32:30【问题描述】:我正在尝试创建一个功能类似于UITabBarController的类,但具有一些根本不同的功能。它被称为dropdownViewC... 查看详情

关于kubernetes中如何优雅的访问集群外服务的一些笔记(代码片段)

写在前面分享一些k8s中服务如何访问集群外服务的笔记博文内容涉及:如何访问集群外服务创建外部服务代理SVC(IP+PORT情况)Endponts/EndpointSlice实现Demo外部服务为单体/集群的访问Demo创建ExternalName类型SVC(域名的情况)理解不足... 查看详情

在同一个 kubernetes 集群中从一个 pod 调用一个 rest api 到另一个 pod

】在同一个kubernetes集群中从一个pod调用一个restapi到另一个pod【英文标题】:Callarestapifromonepodtoanotherpodinsamekubernetescluster【发布时间】:2019-12-1617:03:58【问题描述】:在我的k8s集群中,我有两个podpodA和podB。两者都在同一个k8s集... 查看详情

实操教程丨如何在k8s集群中部署traefikingresscontroller(代码片段)

...子来更清楚的说明Ingress的概念。首先,想象一下在你的Kubernetes集群中有若干个微服务(小型应用程序之间彼此通信)。这些服务能够在集群内部被访问,但我们想让我们的用户从集群外部也能够访问它们。因此,我们需要做的... 查看详情

实操教程丨如何在k8s集群中部署traefikingresscontroller(代码片段)

...更清楚的说明Ingress的概念。 首先,想象一下在你的Kubernetes集群中有若干个微服务(小型应用程序之间彼此通信)。这些服务能够在集群内部被访问,但我们想让我们的用户从集群外部也能够访问它们。因此,我们需要做的... 查看详情

Httpd 只允许访问直接在 /var/www/html 文件夹中创建的文件

】Httpd只允许访问直接在/var/www/html文件夹中创建的文件【英文标题】:Httpdonlyallowstoaccessfilesthataredirectlycreatedinthe/var/www/htmlfolder【发布时间】:2020-01-1201:17:25【问题描述】:我第一次使用Httpd,最终目标是在本地RHEL服务器(没有... 查看详情