从eks集群中支持istio的pod连接到redis示例

ylamdve6  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(887)

我正在运行启用istio的eks集群。我已经启动了一个ec2示例,其中运行着redis服务器。eks cluster和redis都在同一个vpc中。所有入站和出站规则都允许它们。但是,当我试图访问pod中的redis示例时,它抛出了“connectionresetbypeer”,而它在非istio pod中运行良好。原因是什么?
istio版本:

image: docker.io/istio/pilot:1.4.3
imagePullPolicy: IfNotPresent
image: docker.io/istio/proxyv2:1.4.3
imagePullPolicy: IfNotPresent

我还在该命名空间中创建了一个serviceentry。

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: svc-redis
  namespace: mynamespace
spec:
  hosts:
    - "redis-X.xxx.xxxx"
  location: MESH_EXTERNAL
  ports:
    - number: 6379
      name: http
      protocol: REDIS
  resolution: NONE
qkf9rpyu

qkf9rpyu1#

由于您使用的是域名作为主机,因此需要将分辨率设置为 DNS . 因为当你决定 None . 它将尝试连接到ip地址,而不是使用域名。
这是我的外部redis访问服务条目。

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: redis-svc
spec:
  hosts:
  - redis01.example.com
  ports:
  - number: 6379
    name: redis
    protocol: TCP
  resolution: DNS
  location: MESH_EXTERNAL

相关问题