Mat*_*ard 4 docker kubernetes minio
我有两个 pod A,B在 minikube 上的集群中运行,两者都有外部 IPwww.service-a.com和www.service-b.com. 两个外部 IP 均可从外部访问。
我需要A能够B使用它的外部IP而不是它的集群DNS进行调用,这A需要使用www.service-b.com而不是b.svc.cluster.local(这确实有效,但我不能使用它)。
我设置A使用hostNetwork: true和dnsPolicy: ClusterFirstWithHostNet。如果我手动启动 NodeJS docker 容器,它确实可以连接并找到它。然而,A仍然无法连接到service-b.com。难道是我用hostNetwork错了?b如何配置我的 pod以这种方式连接?
A 的部署 YAML
...
spec:
replicas: 1
selector:
matchLabels:
app: a-app
template:
metadata:
labels:
app: a-app
spec:
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
containers:
...
Run Code Online (Sandbox Code Playgroud)
B 的服务 YAML
...
spec:
externalTrafficPolicy: Cluster
type: LoadBalancer
ports:
- port: ...
targetPort: ...
protocol: TCP
name: http
...
Run Code Online (Sandbox Code Playgroud)
我正在使用 Minio(一种类似 S3 的本地解决方案),并且需要预先签名 URL 来获取和放置对象。Minio 的 Pod 与我的身份验证 Pod 在同一集群中运行,它将生成预签名的 URL。预签名的 URL 将从集群外部使用。因此,我无法使用集群 dns 名称对 url 进行签名,minio.svc.cluster.local因为无法从集群外部访问此 URL,并且将主机替换为my-minio.com并保留签名不起作用,因为我猜 minio 签署了整个主机和路径。因此,我需要让我的身份验证 Pod 连接到 Minio 的公众界面,my-minio.com但这似乎不起作用。
| 归档时间: |
|
| 查看次数: |
23858 次 |
| 最近记录: |