更改Kubernetes服务名称而不删除它

更改Kubernetes服务名称而不删除它,kubernetes,Kubernetes,假设在我的微服务架构中,我有一个微服务,它接收API调用,并向其他微服务发送所需的RPC以响应调用。让我们称之为服务器 为了向外界公开,我为这个以名称命名的微服务(服务器)提供了一个节点端口服务。 目前我正在使用RabbitMQ进行服务间通信,server正在通过RMQ队列与其他微服务进行通信 现在我想部署一个服务网格,并使用gRPC进行服务间通信。因此,我需要为我的所有微服务创建gRPC端口的K8s服务,并使用它们的微服务名称(包括server)。但是,名为server的K8s服务已经存在,我

假设在我的微服务架构中,我有一个微服务,它接收API调用,并向其他微服务发送所需的RPC以响应调用。让我们称之为服务器

为了向外界公开,我为这个以名称命名的微服务(
服务器
)提供了一个
节点端口
服务。 目前我正在使用RabbitMQ进行服务间通信,
server
正在通过RMQ队列与其他微服务进行通信

现在我想部署一个服务网格,并使用gRPC进行服务间通信。因此,我需要为我的所有微服务创建gRPC端口的K8s服务,并使用它们的微服务名称(包括
server
)。但是,名为
server
的K8s服务已经存在,我需要更改该
NodePort
的名称才能创建其gRPC服务,但K8s不允许我更改服务名称。如果我删除
节点端口
并创建另一个具有新名称的节点端口,我的应用程序将在那几秒钟内关闭


最后一个问题是,当我的应用程序可供用户使用时,如何实现重命名此
节点端口?

您可以执行以下操作:

  • 创建一个全新的节点端口服务“服务器重命名”(使用与“服务器”相同的选择器和所有内容)

  • 更改microservices配置以使用它,并检查是否一切正常

  • 删除“服务器”服务,并使用新的必需规范重新创建它


  • 创建一个全新的NodePort服务“服务器重命名”(使用与“服务器”相同的选择器和所有内容),然后更改您的microservices配置以使用它,一旦一切正常,删除“服务器”服务并使用新的所需规范重新创建它怎么样?@AdamBarreiro我们可以有多个服务指向同一目标端口吗?嗯,看来这是可能的。我想问题解决了!有时候,你忙于使事情复杂化,而这些简单的解决方案甚至没有出现在你的脑海中。如果你把这个作为答案写下来,这样我们就可以结束这个案子了。是的,我认为唯一的区别是节点中暴露的“nodePort”端口。