gpt4 book ai didi

kubernetes - Istio - 连接到外部 ip

转载 作者:行者123 更新时间:2023-12-05 08:31:42 27 4
gpt4 key购买 nike

我安装了 Istio

gateways.istio-egressgateway.enabled = true

当我尝试连接到外部数据库时收到错误消息。我没有域(只有 ip 和端口),所以我定义了以下规则:

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: external-db
spec:
hosts:
- external-db.tcp.svc
addresses:
- 190.64.31.232/32
ports:
- number: 3306
name: tcp
protocol: TCP
location: MESH_EXTERNAL
resolution: STATIC
endpoints:
- address: 190.64.31.232

然后我在我的系统中打开一个 Shell(部署在我的服务网格中)并且无法解析名称

$ ping external-db.tcp.svc
ping: ceip-db.tcp.svc: Name or service not known

但是我可以使用ip地址连接

$ ping 190.64.31.232
PING 190.64.31.232 (190.64.31.232) 56(84) bytes of data.
64 bytes from 190.64.31.232: icmp_seq=1 ttl=249 time=1.35 ms
64 bytes from 190.64.31.232: icmp_seq=2 ttl=249 time=1.42 ms

发生了什么事?我必须使用域或 ip 进行连接吗? 我可以为我的外部 ip 定义一个内部域吗?

最佳答案

您可以使用硬编码的 IP 端点创建 headless 服务:

---
apiVersion: v1
kind: Service
metadata:
name: external-db
spec:
clusterIP: None
ports:
- protocol: TCP
port: 3306
---
apiVersion: v1
kind: Endpoints
metadata:
name: external-db
subsets:
- addresses:
- ip: 190.64.31.232
ports:
- port: 3306

然后您可以向您的 ServiceEntry 添加一个主机 external-db.default.svc.cluster.local

关于kubernetes - Istio - 连接到外部 ip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56094753/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com