我可以在Kubernetes服务中使用多个名称吗?

时间:2020-07-23 08:37:15

标签: kubernetes

在Kubernetes中,人们通过向X发送http请求来与特定服务http://X:9999通信。 X是应用程序名称。我想知道,是否可以添加多个名称或别名,使其指向http://X:9999?也就是说,我可以将http://Y:9999转发/指向http://X:9999吗?

1 个答案:

答案 0 :(得分:4)

答案

是的,您可以有多个主机名指向同一个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
...

每个服务都将创建一个指向任何带有标签app: nginx的Pod的终结点。

因此您可以使用nginx2:<port>nginx1:<port>击中相同的豆荚。