如何端口转发潜艇服务,即 serviceimport crds serviceimports.multicluster.x-k8s.io

问题描述 投票:0回答:1

Submariner可用于连接多个较小的k8s集群,然后在连接的集群中导出(serviceexport CRD)或导入(serviceimport CRD)。

在测试代码时,无论当前上下文附加到哪个 k8s 集群,都能够端口转发这些服务会很好,因此端口转发

ServiceImport
对象或可能手动解析它们并基于端口转发在集群 ip 或类似的上会很棒。

如何实现这一点? IE。您在 5 个集群上有 10 个服务,所有服务都可在使用

ServiceImport
对象和 Submariner 的所有集群上使用。 当前上下文指向这 5 个集群之一。 您想要
localhost:1000...1010
提供 10 项服务 - 如何实现?

kubernetes
1个回答
0
投票

即使您当前的上下文仅指向一个集群,您也可以通过以下方法在多个集群之间转发潜艇服务:

Submariner 服务导入 (serviceImport CRD) 允许您将一个集群中运行的服务公开为另一集群中的服务。这有利于跨集群的服务发现和负载平衡。

通过服务导入公开的端口转发服务主要有两种方式:

  1. 带有服务导入的 Kubectl 端口转发:

为此,请在当前集群中使用 kubectl get serviceimports -nSubmariner-operator 列出所有服务导入对象。

识别从源集群公开所需服务的服务导入。

从服务导入的规范中提取服务名称和端口详细信息。

使用提到的服务名称和端口解析后,在当前集群中使用 kubectl port-forward 来运行将从源集群转发它的本地计算机。

  1. 自动化脚本(可选):

如果您有大量服务分布在许多不同的集群中,那么可能值得创建一个脚本来自动为您执行此操作。

该脚本可以循环遍历所有“ServiceImports”,将它们提取到单独的“ServiceImports”中,然后对每个“ServiceImports”执行“kubectl port-forward”

© www.soinside.com 2019 - 2024. All rights reserved.