gpt4 book ai didi

kubernetes - 创建通过多个 ip 地址引用外部服务的 Kubernetes 服务

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

Kubernetes 有没有办法为应该返回多个 IP 地址的外部服务创建服务?目前我正在通过在我的公共(public) DNS 提供商(route53)中创建一个 A 记录然后在 Kubernetes 中创建一个服务来解决这个问题:

apiVersion: v1
kind: Service
metadata:
name: rabbitmq
labels:
app: rabbitmq
spec:
type: ExternalName
externalName: rabbitmq.mydomainhere.dev

有没有一种方法可以在 Kubernetes 中本地创建一个服务,该服务返回一组固定的 IP 地址,这些 IP 地址不在 Kubernetes 集群内部管理,而无需创建公共(public) DNS 记录并使用 externalName

最佳答案

您可以创建一个没有选择器的 headless 服务并将 clusterIP 设置为 None,然后手动创建一个端点以在端点中设置所有 IP。你可以看看下面的例子。

kind: Service
apiVersion: v1
metadata:
name: my-es
spec:
clusterIP: None

---
kind: Endpoints
apiVersion: v1
metadata:
name: my-es
subsets:
- addresses:
- ip: 172.22.111.250
- ip: 172.22.149.230
ports:
- port: 9200

一个 Pod 的 nslookup 输出

root@curl-66bdcf564-8m6h7:/ ]$ nslookup my-es
Server: 169.254.25.10
Address 1: 169.254.25.10

Name: my-es
Address 1: 172.22.111.250 172-22-111-250.my-es.default.svc.cluster.local
Address 2: 172.22.149.230 172-22-149-230.my-es.default.svc.cluster.local

关于kubernetes - 创建通过多个 ip 地址引用外部服务的 Kubernetes 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57618606/

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