首页 > 解决方案 > 我可以为 Kubernetes 服务使用多个名称吗?

问题描述

在 Kubernetes 中,X通过对http://X:9999. X这是应用程序名称。我想知道,可以添加多个名称或别名,它会指向它http://X:9999吗?即我可以转发/指向http://Y:9999http://X:9999

标签: kubernetes

解决方案


回答

是的,您可以让多个主机名指向同一个 Pod。

您可以通过使用相同的标签选择器创建多个服务来实现此目的。

背景

服务根据标签选择器创建 Pod IP 的端点。

服务会将它们的选择器与 Pod 标签进行匹配。

如果多个服务(具有不同名称)具有相同的标签选择器,它们将为同一个 Pod 创建多个端点。

例子

第一服务:

apiVersion: v1
kind: Service
metadata:
  name: nginx1
  namespace: nginx
spec:
  selector:
    app: nginx
...

二服务:

apiVersion: v1
kind: Service
metadata:
  name: nginx2
  namespace: nginx
spec:
  selector:
    app: nginx
...

每个 Service 都会创建一个端点,指向任何带有 label 的 Pod app: nginx

nginx2:<port>因此,您可以使用and访问相同的 Pod nginx1:<port>


推荐阅读