当前位置: 首页 > 知识库问答 >
问题:

pod中的服务(启用了特使代理)无法连接到redis pod

司马庆
2023-03-14

步骤 1.我在没有特使边车的情况下部署了雷迪斯。https://github.com/kubernetes/charts/tree/master/stable/redis

当在另一个没有特使的吊舱中运行regis cli时,redis连接正常=

步骤2.在另一个pod中部署服务,该pod注入了特使sidecar。

尝试从服务连接到redis时,连接无法设置。

规范:目的地:服务:“*”端口:-端口:6379协议:redis

有人有建议/想法吗?

共有3个答案

田翔
2023-03-14

您必须创建服务条目才能从启用 Envoy 的服务连接 Redis,如下所示

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: external-svc-redis
spec:
  hosts:
    - "REDIS_ENDPOINT"
location: MESH_EXTERNAL
ports:
  - number: 6379
    name: http
    protocol: REDIS
resolution: NONE

$kubectl申请-fexternal-svc-redis.yaml

百里阳平
2023-03-14

如果您使用Istio 0.3.0,您遇到的问题已通过此PR解决https://github.com/istio/istio/pull/1915。在Istio 0.4.0中,该问题不存在。

或者,克隆https://github.com/kubernetes/charts/tree/master/stable/redis并编辑https://github.com/kubernetes/charts/blob/master/stable/redis/templates/svc.yaml#L24-将端口名称更改为“tcp”而不是“redis”。

弘和同
2023-03-14

您是否设置了启用双向TLS的istio
这可以解释为什么您无法从网格中的pod连接到redis pod(不是网格的一部分)。这是因为尝试连接到redis的pod上的sidecar会期望TLS通信,但没有给出。

 类似资料:
  • 我对kubernetes相当陌生,我正试图在MacBook上使用minikube来编排我的rails应用程序。我的应用程序包括MySQL、Redis和Sidekiq。我在独立的豆荚里运行webapp、sidekiq、redis和数据库。Sidekiq吊舱没有连接到redis吊舱。 sidekiq吊舱的库贝特尔日志是这样说的: 我的webapp.yaml webapp-service.yaml Si

  • 我的入口pod无法通过IP访问两个集群IP服务。有很多其他集群IP服务它没有到达困难。包括在同一个命名空间中。另一个pod到达服务没有问题(我在同一个命名空间中尝试了默认后端,一切正常)。 我应该去哪里?以下是我的实际服务,它无法到达第一个,但可以到达第二个: 我的入口吊舱:

  • 我创建了一个副本zookeeper+kafka集群,使用来自官方孵化器repo的官方kafka图表: 如果我进入动物园管理员舱: 我使用工具测试TCP连通性。我预计会出现通信错误,因为服务器没有使用HTTP,但是如果curl连都不能连接,我不得不用ctrl-C输出,那么TCP连接就不能工作了。 我可以通过访问本地pod: 但是通过服务名连接到Kafka pod不起作用,我必须ctrl-C curl

  • 问题内容: 我有一个kubernetes单节点设置(请参阅https://coreos.com/kubernetes/docs/latest/kubernetes- on-vagrant-single.html ) 我有一个服务和一个创建吊舱的复制控制器。这些Pod需要连接到同一服务中的其他Pod(注意:这最终是使我可以使mongo运行带有副本集(非localhost),但是此简单示例演示了mon

  • 这是mysql连接php脚本。它不断地显示出它的错误 警告:mysqli_connect():(HY000/1045):用户'user'@'localhost'(使用密码:YES)在第6行的C:\xampp\htdocs\index.php访问被拒绝 注意:尝试在第7行连接成功的C:\xampp\htdocs\index.php中获取非对象的属性 我听不懂,请帮帮我好吗?

  • 首先,我知道有很多类似的问题,但我所看到的似乎都不能解决我的设置(我发现的任何解决方案都不管用)。所以请容忍我。。。 我的服务器主机名是IP地址,而不是域名(即URL看起来像:) 我的服务器有一个真正的证书(即,没有自签名) 我的应用程序的plist条目字典为空(没有任何例外-出厂设置ATS) 这是生产代码,我不能禁用ATS(我也不认为我可以,因为例外只适用于显式域名,而不是IP地址) (iOS9