我正在为Istio gRPC开发POC,Istio版本是1.6,但是我看不到任何gRPC流量。
我怀疑我的Istio Gateway或VirtualService遗漏了什么,但我不知道这里出了什么问题?有人能帮我查看yaml文件并纠正我的yaml中缺失或错误的地方吗?
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: syslogserver
name: syslogserver
namespace: mynamespace
spec:
selector:
matchLabels:
app: syslogserver
replicas: 1
template:
metadata:
labels:
app: syslogserver
spec:
containers:
- name: syslogserver
image: docker.io/grpc-syslog:latest
imagePullPolicy: Always
ports:
- containerPort: 5555
imagePullSecrets:
- name: pull-image-credential
---
apiVersion: v1
kind: Service
metadata:
name: syslogserver
namespace: mynamespace
labels:
app: syslogserver
spec:
selector:
app: syslogserver
ports:
- name: grpc
port: 6666
protocol: TCP
targetPort: 5555
---
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: xyz-ingress-gateway
namespace: istio-system
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 7777
name: http2
protocol: HTTP2
hosts:
- "*"
---
apiVersion: v1
kind: Service
metadata:
name: xyz-istio-ingressgateway
namespace: istio-system
labels:
app: xyz-istio-ingressgateway
spec:
selector:
app: istio-ingressgateway
istio: ingressgateway
type: NodePort
ports:
- protocol: TCP
nodePort: 32555
port: 7777
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: xyz-ingress-gateway-virtualservice
namespace: istio-system
spec:
hosts:
- "*"
gateways:
- xyz-ingress-gateway
#tls:
http:
- match:
- port: 7777
route:
- destination:
host: syslogserver.mynamespace.svc.cluster.local
port:
number: 6666
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: xyz-destinationrule
namespace: istio-system
spec:
host: syslogserver.mynamespace.svc.cluster.local
trafficPolicy:
loadBalancer:
simple: ROUND_ROBIN
请给予指导,谢谢。
在我看来,应该删除服务< code >名称:XYZ-istio-Ingres gateway ,因为这不是使用Istio时的通信方式。
相反,您应该使用 istio 入口网关,并结合网关、虚拟服务和目标规则。
如果您在网关上选择了端口号7777,则必须在istio入口网关上打开此端口,在这个stackoverflow问题中有几种方法可以做到这一点。有默认的istio入口网关值。
配置端口后,您可以使用kubectl get svc istio-ingressgate-n istio-system
获取istio入口网关外部IP。
如果设置了外部 IP 值,则您的环境具有可用于入口网关的外部负载均衡器。如果 EXTERNAL-IP 值处于挂起状态,则您的环境不会为入口网关提供外部负载均衡器。在这种情况下,您可以使用服务的节点端口访问网关。
您的其余配置对我来说看起来不错。只是提醒您将sidecar代理注入您的pod。
金属(版本0.7.3) Kubernetes(版本1.12.2) ISTIO(版本1.0.3) 我会从什么起作用开始。 所有补充服务均已部署,大部分正在工作: null 网关 虚拟服务 我仔细检查了一下,这不是DNS的问题,因为我可以通过busybox或使用K8S仪表板进入入口网关的shell
5.0.0-alpha 数据分片 配置项说明 dataSources: # 省略数据源配置,请参考使用手册 rules: - !SHARDING tables: # 数据分片规则配置 <logic-table-name> (+): # 逻辑表名称 actualDataNodes (?): # 由数据源名 + 表名组成(参考Inline语法规则) databas
简介 YAML 提供通过配置文件的方式与 ShardingSphere-JDBC 交互。配合治理模块一同使用时,持久化在配置中心的配置均为 YAML 格式。 YAML 配置是最常见的配置方式,可以省略编程的复杂度,简化用户配置。 使用方式 创建简单数据源 通过 YamlShardingSphereDataSourceFactory 工厂创建的 ShardingSphereDataSource 实现
我已经看到了其他相关的问题:Spring Boot yaml字符串列表的配置 也有同样的问题。 我应用了解决方案,并四处工作,发现解决方案有点棘手。 有没有办法让列表使用@value? 如果不是现在,将来会有吗? 多谢.
我正在使用这个库(grpc spring boot starter),所以我可以在spring boot应用程序中使用grpc功能。 我想知道如何正确地将其与Istio Jaeger跟踪集成。 我需要知道发生这种情况所需的依赖关系是什么。 我有两(2)个应用程序,一个用作gRPC客户端,一个用作gRPC服务器, 期望gRPC客户端和gRPC服务器之间的跟踪必须反映在Jaeger中。但是这并没有发生
引入 Maven 依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere-jdbc-core</artifactId> <version>${shardingsphere.version}</version> </dependency> <!-- 使用