Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 使用GraphQL网关配置入口+;gRPC微服务_Go_Kubernetes_Graphql_Microservices - Fatal编程技术网

Go 使用GraphQL网关配置入口+;gRPC微服务

Go 使用GraphQL网关配置入口+;gRPC微服务,go,kubernetes,graphql,microservices,Go,Kubernetes,Graphql,Microservices,我希望部署一个基于kubernetes构建的SaaS平台,但在正确设置部署时遇到了障碍。你可以找到我想要的设置 . 我已经尝试设置入口控制器,事实上,它正在将请求转发到GraphQL网关,问题是GraphQL网关本身由于gRPC连接错误而无法连接到其他服务。您将在下面找到myDeployment.yml,它包含graphql网关、入口控制器和一个名为general 我想问的基本上是如何将基于gRPC的服务连接到主GraphQL网关 apiVersion:v1 种类:服务 元数据: 名称:grap

我希望部署一个基于kubernetes构建的SaaS平台,但在正确设置部署时遇到了障碍。你可以找到我想要的设置 . 我已经尝试设置入口控制器,事实上,它正在将请求转发到GraphQL网关,问题是GraphQL网关本身由于gRPC连接错误而无法连接到其他服务。您将在下面找到my
Deployment.yml
,它包含graphql网关、入口控制器和一个名为
general

我想问的基本上是如何将基于gRPC的服务连接到主GraphQL网关

apiVersion:v1 种类:服务 元数据: 名称:graphql网关 规格: 类型:集群 端口: -港口:80 目标港:8080 选择器: 应用程序:网关 --- 版本:v1 种类:服务 元数据: 姓名:一般事务 规格: 端口: -协议:TCP 港口:443 目标港:600 选择器: 应用程序:通用 --- apiVersion:apps/v1 种类:部署 元数据: 名称:网关 规格: 副本:2份 选择器: 火柴标签: 应用程序:网关 模板: 元数据: 标签: 应用程序:网关 规格: 容器: -名称:网关 图片:myregistry/网关:最新 imagePullPolicy:“始终” 端口: -集装箱港口:8080 --- apiVersion:apps/v1 种类:部署 元数据: 姓名:通用 规格: 副本:2份 选择器: 火柴标签: 应用程序:通用 模板: 元数据: 标签: 应用程序:通用 规格: 容器: -姓名:通用 图片:myregistry/general:最新 imagePullPolicy:“始终” 端口: -集装箱港口:600 --- apiVersion:networking.k8s.io/v1 种类:入口 元数据: 名称:网关入口 注释: kubernetes.io/ingres.class:nginx nginx.ingres.kubernetes.io/grpc-backend:“真” 规格: 规则: -主持人:“playery.mydomain.com” http: 路径: -路径类型:前缀 路径:“/” 后端: 服务: 名称:graphql网关 端口: 电话:80
看起来gRPC是HTTP/2,而kubernetes负载平衡不能很好地与之配合使用。这里可能有两个问题。可能是服务无法通过gRPC相互发现这可以通过检查是否为集群安装了正确的CNI组件来解决。另一个问题是,你可能需要一个额外的网络网格来与gRPC合作:谢谢你的回复,我实际上是在调查Linkedr,但我有一个问题,我没有找到答案。在已存在的入口控制器中安装linkerd时,如何导出linkerd仪表板的路由?@另一种方法是将注释
linkerd.io/inject:enabled
添加到部署资源并应用它。但您需要重新创建/重新启动任何现有部署。因为当创建了一个具有这样一个站点的资源时,Linkedr应该自动向pod注入一个微型代理侧车,服务将连接到服务网格。那么你认为这就足够了吗?kubectl Descripte general service的输出是什么?