第 20 章 Service Interconnect 参考


20.1. 参考

20.1.1. skupper 概念

20.1.1.1. 站点概念

站点是运行应用程序负载的 网络中的 一个位置。workload.html站点通过 链接 加入。

站点与一个平台和一个网络相关联。每个站点都有零个或多个工作负载,以及零个或多个链接。

站点 在多个平台上 操作 .一个站点(site)对应于平台实例中的一个命名空间。站点可以添加到网络中,并动态从网络中删除。

每个站点都有一个 Skupper 路由器,它负责与本地工作负载通信,并将流量转发到远程站点中的路由器。

20.1.1.2. 工作负载概念

工作负载是在平台上运行的一组进程。platform.html进程是 pod、容器或系统进程。站点中的 工作负载 使用 连接器 作为 网络上的 服务公开。

一个平台有零个或多个工作负载。站点也具有零个或多个工作负载。每个工作负载都有零个或多个进程,以及零个或多个 连接器

工作负载通过提供应用的其他部分的网络接口(如 API)来实施应用的一部分。工作负载可以是客户端和服务器。

在 Kubernetes 中,工作负载是 Deployment、StatefulSet 或 DaemonSet。在 Docker 或 Podman 上,工作负载是一组容器。在 Linux 上,工作负载是一组系统进程。

20.1.1.3. 平台概念

平台是用于运行 应用程序工作负载的 系统。平台主机 站点。skupper 支持 Kubernetes、Docker、Podman 和 Linux。网络中的每个站点都可以在任何受支持的平台上运行。

平台为相关工作负载和资源提供命名空间。skupper 使用命名空间在平台的一个实例上托管多个独立站点。一个平台中的每个站点都可以属于不同的应用程序网络。

一个平台有零个或多个命名空间。每个命名空间都与零个或多个工作负载关联。命名空间可以与站点关联。

20.1.1.4. 网络概念

网络是由 链接 加入的一组 站点。Skupper 网络也称为应用程序网络或虚拟应用程序网络(VAN)。

网络具有一个或多个站点。每个站点仅属于一个网络。

网络中的每个站点都可以向网络中的其他站点公开服务。反过来,网络中的每个站点都可以访问这些公开的服务。每个网络都用于一个分布式应用程序。这提供了与其他应用程序和网络隔离。

20.1.1.6. 访问令牌概念

访问令牌是一个简短的凭证,用于创建 链接。访问令牌包含对应 访问权限权限的 URL 和机密代码

访问令牌由访问权限授权发出。授予零个或多个令牌的问题。令牌被重新考虑链接。

访问令牌具有有限的 redemptions 和 limited lifespans。默认情况下,它们只能被重新考虑一次,并在发出 15 分钟后过期。您可以通过配置访问权限授权来设置自定义限制。

  • 希望接受链接(站点 1)的站点将创建一个访问权限授权。
  • 它使用访问授权来发布对应的访问令牌并将其传送到远程站点(站点 2)。
  • 站点 2 将访问令牌提交到站点 1 以供重新设计。
  • 如果令牌有效,则站点 1 将向站点 2 发送创建站点 1 的链接所需的 TLS 主机、端口和凭证。

20.1.1.7. 侦听器概念

侦听器将本地连接端点绑定到 远程站点 中的 连接器。监听器和连接器使用 路由密钥 匹配。

站点有零个或更多监听程序。每个监听器都有一个关联的连接端点和路由密钥。连接端点会公开主机和端口,以接受来自本地客户端的连接。路由键是一个字符串标识符,它将监听程序绑定到远程站点中的连接器。

在 Kubernetes 上,侦听器 作为服务 实施。在 Docker、Podman 和 Linux 上,它是绑定到本地网络接口的侦听套接字。

skupper 路由器将跨网络的客户端连接从监听程序转发到具有匹配路由密钥的连接器。然后,连接器将客户端连接转发到工作负载服务器。

20.1.1.8. 连接器概念

连接器将本地 工作负载 绑定到 远程站点 中的 监听程序。监听器和连接器使用 路由密钥 匹配。

站点有零个或多个连接器。每个连接器都有关联的工作负载和路由密钥。工作负载可以指定为 Kubernetes pod 选择器,或者指定为本地网络服务的主机和端口。路由键是一个字符串标识符,它将连接器绑定到远程站点中的监听程序。

在 Kubernetes 上,通常使用 pod 选择器来指定工作负载。https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/在 Docker、Podman 和 Linux 上,它使用主机和端口来指定。

skupper 路由器将跨网络的客户端连接从监听程序转发到具有匹配路由密钥的连接器。然后,连接器将客户端连接转发到工作负载服务器。

20.1.1.9. 路由密钥概念

路由键是一个字符串标识符,用于匹配 监听程序连接器

路由键有零个或多个监听器,以及零个或多个连接器。当服务至少有一个监听程序和一个连接器,与路由键匹配时,会在应用程序网络上公开服务。

20.1.1.10. 应用程序概念

应用程序是一组协同工作 的组件。Skupper 网络 专用于一个应用程序。

应用程序具有一个或多个组件。

20.1.1.11. 组件概念

组件是 应用程序 的逻辑部分。每个组件都有一组实现应用程序目标的职责。组件提供和需要 接口,如 REST API 或数据库监听程序。组件由 工作负载 实施。

应用程序具有一个或多个组件。每个组件提供并需要零个或多个接口。每个组件都由零个或多个工作负载实现。

20.1.2. skupper 资源

20.1.2.1. 站点资源

站点是运行应用程序负载的网络中的一个位置。站点通过 链接 加入。

Site 资源是站点配置的基础。它是其命名空间中所有 Skupper 资源的父项。每个命名空间只能有一个活跃的 Site 资源。

例子

最小站点:

apiVersion: skupper.io/v2alpha1
kind: Site
metadata:
  name: east
  namespace: hello-world-east
Copy to Clipboard

配置为接受链接的站点:

apiVersion: skupper.io/v2alpha1
kind: Site
metadata:
  name: west
  namespace: hello-world-west
spec:
  linkAccess: default
Copy to Clipboard

Name Type: string

资源名称。

另请参阅: Kubernetes 对象名称

命名空间 类型: 字符串

资源的命名空间。

另请参阅: 平台概念Kubernetes 命名空间系统命名空间

linkAccess Type: 字符串

为来自远程站点的链接配置外部访问。

站点和链接是创建应用程序网络的基础。在简单的双站点网络中,至少其中一个站点必须启用链接访问权限。

default
none
Choices:: none
不允许链接到此站点。
default
为当前平台使用默认链接访问权限。在 OpenShift 上,默认是 路由。对于其他 Kubernetes 类别,默认值为 loadbalancer
route
使用 OpenShift 路由。仅限 OpenShift。
LoadBalancer
使用 Kubernetes 负载均衡器。
updatable
true 还查看: 链接概念站点链接

HA Type: boolean

为高可用性(HA)配置站点。HA 站点有两个活跃的路由器。

请注意,Skupper 路由器是无状态的,它们会在失败后重启。这已提供高级别的可用性。启用 HA 进一步,并减少重启导致的停机时间窗口。

default
假的 Updatable:: True 查看: 高可用性

defaultIssuer Type: 字符串

包含用于从令牌生成证书的签名 CA 的 Kubernetes secret 名称。如果没有指定 secret,则会生成 secret。

如果没有设置一个特定的签发者,则 AccessGrant 和 RouterAccess 会使用这个签发者。

default
skupper-site-ca
updatable
true 还会看到: 路由器 TLSKubernetes TLS secret

Edge Type: boolean

将站点配置为以边缘模式运行。Edge 站点无法接受来自远程站点的链接。

Edge 模式可帮助您将网络扩展到大量站点。但是,对于具有 16 个或更少站点的网络,没有好处。

目前,边缘站点也无法启用 HA。

default
false 另请参阅: 大网络

ServiceAccount Type: 字符串

运行 Skupper 路由器的 Kubernetes 服务帐户名称。如果没有指定服务帐户,则会生成服务帐户。

default
generated

另请参阅: Kubernetes 服务帐户

设置 类型: 对象

包含额外设置的映射。每个映射条目都有一个字符串名称和一个字符串值。

注意

通常,我们建议不要从默认值更改设置。

  • routerDataConnections :设置路由器链接到其他路由器时使用的数据连接数量。+ Default: Computed 基于路由器 worker 线程的数量。最低 2。
  • routerLogging :设置路由器日志级别。+ 默认: info.Choices: info,warning,error.

另请参阅 :资源设置

Status Type: 字符串

资源的当前状态。

  • Pending: 资源正在处理。
  • 错误 :处理资源时出错。如需更多信息,请参阅 消息
  • Ready :资源可供使用。

另请参阅: 资源状态

Message Type: 字符串

人类可读的状态消息。此处报告错误消息。

另请参阅: 资源状态

conditions Type: array

一组指定条件,用于描述资源的当前状态。

  • 配置 :此资源的输出资源已创建。
  • 运行 :至少一个路由器 pod 正在运行。
  • 已解析 :用于链接访问的主机名或 IP 地址。
  • Ready :网站可供使用。所有其他条件都为 true。

另请参阅: 资源状态Kubernetes 条件

defaultIssuer Type: 字符串

包含活跃默认签名 CA 的 Kubernetes secret 名称。

另请参阅: 路由器 TLSKubernetes TLS secret

端点 类型: 数组

连接端点的数组。每个项目都有一个名称、主机、端口和组。

这包括用于链接访问的连接端点。

另请参阅: 链接概念站点链接

20.1.2.3. 侦听器资源

侦听器将本地连接端点绑定到 远程站点 中的 连接器。监听器和连接器通过路由密钥匹配。

Listener 资源指定接受本地客户端连接的主机和端口。要公开多端口服务,请使用同一主机值创建多个监听程序。

例子

站点 West 中的监听程序用于 site East 中的 Hello World 后端服务:

apiVersion: skupper.io/v2alpha1
kind: Listener
metadata:
  name: backend
  namespace: hello-world-west
spec:
  routingKey: backend
  host: backend
  port: 8080
Copy to Clipboard

Name Type: string

资源名称。

另请参阅: Kubernetes 对象名称

命名空间 类型: 字符串

资源的命名空间。

另请参阅: 平台概念Kubernetes 命名空间系统命名空间

routingKey Type: string

用于将流量路由到连接器的标识符。要在远程站点中启用连接到服务,本地监听程序和远程连接器必须具有匹配的路由密钥。

updatable
true 另请参阅: 路由密钥概念

主机 类型: 字符串

本地监听程序的主机名或 IP 地址。此站点上的客户端使用侦听器主机和端口来建立与远程服务的连接。

updatable
True

端口类型: 整数

本地监听器的端口。此站点上的客户端使用侦听器主机和端口来建立与远程服务的连接。

updatable
True

exposePodsByName Type: boolean

如果为 true,请将每个 pod 公开为单个服务。

default
另请见: 单个 pod 服务

tlsCredentials Type: 字符串

用于安全客户端到路由器通信的 TLS 证书捆绑包的名称。该捆绑包包含服务器证书和密钥。它选择性地包括 mutual TLS 的可信客户端证书(通常是 CA)。

在 Kubernetes 上,该值是当前命名空间中的 Secret 名称。在 Docker、Podman 和 Linux 上,值是当前命名空间中的 input/certs/ 下的目录名称。

另请参阅: 应用程序 TLSKubernetes TLS secret系统 TLS 凭证

设置 类型: 对象

包含额外设置的映射。每个映射条目都有一个字符串名称和一个字符串值。

注意

通常,我们建议不要从默认值更改设置。

  • Observer :设置用于生成流量指标的协议观察程序。+ Default: auto.Choices: auto,none,http1,http2.

另请参阅 :资源设置

Status Type: 字符串

资源的当前状态。

  • Pending: 资源正在处理。
  • 错误 :处理资源时出错。如需更多信息,请参阅 消息
  • Ready :资源可供使用。

另请参阅: 资源状态

Message Type: 字符串

人类可读的状态消息。此处报告错误消息。

另请参阅: 资源状态

hasMatchingConnector Type: boolean

如果至少有一个连接器带有匹配的路由密钥(通常在远程站点中)。

default
false 另请参阅: 路由密钥概念

conditions Type: array

一组指定条件,用于描述资源的当前状态。

  • 配置 :侦听器配置已应用到路由器。
  • 匹配 :至少有一个与这个监听程序对应的连接器。
  • Ready :侦听器可供使用。所有其他条件都为 true。

另请参阅: 资源状态Kubernetes 条件

20.1.2.4. 连接器资源

连接器将本地工作负载绑定到 远程站点 中的 监听程序。监听器和连接器通过路由密钥匹配。

在 Kubernetes 上,Connector 资源具有一个选择器和端口,用于指定工作负载 pod。

在 Docker、Podman 和 Linux 上,Connector 资源具有一个主机和端口,用于指定本地服务器。另外,Kubernetes 也可以使用主机和端口。

例子

Hello World 后端服务站点东部的连接器:

apiVersion: skupper.io/v2alpha1
kind: Connector
metadata:
  name: backend
  namespace: hello-world-east
spec:
  routingKey: backend
  selector: app=backend
  port: 8080
Copy to Clipboard

Name Type: string

资源名称。

另请参阅: Kubernetes 对象名称

命名空间 类型: 字符串

资源的命名空间。

另请参阅: 平台概念Kubernetes 命名空间系统命名空间

routingKey Type: string

用于将流量路由到连接器的标识符。要将本地工作负载公开给远程站点,远程监听程序和本地连接器必须具有匹配的路由密钥。

updatable
true 另请参阅: 路由密钥概念

端口类型: 整数

要连接的目标服务器上的端口。

updatable
True

选择器 类型: 字符串

用于指定目标服务器 pod 的 Kubernetes 标签选择器。它使用 &lt ;label-name>=<label-value&gt; 语法。

在 Kubernetes 上,需要 选择器 或主机

updatable
true 还会看到: Kubernetes 标签选择器

主机 类型: 字符串

服务器的主机名或 IP 地址。这是指定目标服务器的 选择器 的替代选择。

在 Kubernetes 上,需要 选择器 或主机

在 Docker、Podman 或 Linux 上,需要 host

updatable
True

includeNotReadyPods Type: boolean

如果为 true,请将服务器 pod 包含在 NotReady 状态。

default
False

exposePodsByName Type: boolean

如果为 true,请将每个 pod 公开为单个服务。

default
另请见: 单个 pod 服务

tlsCredentials Type: 字符串

用于安全路由器到服务器通信的 TLS 证书捆绑包名称。该捆绑包包含可信服务器证书(通常是 CA)。它选择性地包括 mutual TLS 的客户端证书和密钥。

在 Kubernetes 上,该值是当前命名空间中的 Secret 名称。在 Docker、Podman 和 Linux 上,值是当前命名空间中的 input/certs/ 下的目录名称。

另请参阅: 应用程序 TLSKubernetes TLS secret系统 TLS 凭证

useClientCert Type: boolean

连接时发送客户端证书,以启用 mutual TLS。

default
false 另请参阅: 应用程序 TLS

verifyHostname Type: boolean

如果为 true,要求连接的服务器的主机名与服务器证书中的主机名匹配。

default
false 另请参阅: 应用程序 TLS

设置 类型: 对象

包含额外设置的映射。每个映射条目都有一个字符串名称和一个字符串值。

注意

通常,我们建议不要从默认值更改设置。

另请参阅 :资源设置

Status Type: 字符串

资源的当前状态。

  • Pending: 资源正在处理。
  • 错误 :处理资源时出错。如需更多信息,请参阅 消息
  • Ready :资源可供使用。

另请参阅: 资源状态

Message Type: 字符串

人类可读的状态消息。此处报告错误消息。

另请参阅: 资源状态

hasMatchingListener Type: boolean

如果至少有一个监听程序具有匹配的路由密钥(通常在远程站点中)。

default
false 另请参阅: 路由密钥概念

conditions Type: array

一组指定条件,用于描述资源的当前状态。

  • 配置 :连接器配置已应用到路由器。
  • 匹配 :至少有一个与这个连接器对应的监听程序。
  • Ready :连接器可供使用。所有其他条件都为 true。

20.1.2.5. 站点资源

selectedPods Type: array

站点是运行应用程序负载的网络中的一个位置。站点通过 链接 加入。

Site 资源是站点配置的基础。它是其命名空间中所有 Skupper 资源的父项。每个命名空间只能有一个活跃的 Site 资源。

例子

最小站点:

apiVersion: skupper.io/v2alpha1
kind: Site
metadata:
  name: east
  namespace: hello-world-east
Copy to Clipboard

配置为接受链接的站点:

apiVersion: skupper.io/v2alpha1
kind: Site
metadata:
  name: west
  namespace: hello-world-west
spec:
  linkAccess: default
Copy to Clipboard

Name Type: string

资源名称。

另请参阅: Kubernetes 对象名称

命名空间 类型: 字符串

资源的命名空间。

另请参阅: 平台概念Kubernetes 命名空间系统命名空间

linkAccess Type: 字符串

为来自远程站点的链接配置外部访问。

站点和链接是创建应用程序网络的基础。在简单的双站点网络中,至少其中一个站点必须启用链接访问权限。

default
none
Choices:: none
不允许链接到此站点。
default
为当前平台使用默认链接访问权限。在 OpenShift 上,默认是 路由。对于其他 Kubernetes 类别,默认值为 loadbalancer
route
使用 OpenShift 路由。仅限 OpenShift。
LoadBalancer
使用 Kubernetes 负载均衡器。
updatable
true 还查看: 链接概念站点链接

HA Type: boolean

为高可用性(HA)配置站点。HA 站点有两个活跃的路由器。

请注意,Skupper 路由器是无状态的,它们会在失败后重启。这已提供高级别的可用性。启用 HA 进一步,并减少重启导致的停机时间窗口。

default
假的 Updatable:: True 查看: 高可用性

defaultIssuer Type: 字符串

包含用于从令牌生成证书的签名 CA 的 Kubernetes secret 名称。如果没有指定 secret,则会生成 secret。

如果没有设置一个特定的签发者,则 AccessGrant 和 RouterAccess 会使用这个签发者。

default
skupper-site-ca
updatable
true 还会看到: 路由器 TLSKubernetes TLS secret

Edge Type: boolean

将站点配置为以边缘模式运行。Edge 站点无法接受来自远程站点的链接。

Edge 模式可帮助您将网络扩展到大量站点。但是,对于具有 16 个或更少站点的网络,没有好处。

目前,边缘站点也无法启用 HA。

default
false 另请参阅: 大网络

ServiceAccount Type: 字符串

运行 Skupper 路由器的 Kubernetes 服务帐户名称。如果没有指定服务帐户,则会生成服务帐户。

default
generated

另请参阅: Kubernetes 服务帐户

设置 类型: 对象

包含额外设置的映射。每个映射条目都有一个字符串名称和一个字符串值。

注意

通常,我们建议不要从默认值更改设置。

  • routerDataConnections :设置路由器链接到其他路由器时使用的数据连接数量。+ Default: Computed 基于路由器 worker 线程的数量。最低 2。
  • routerLogging :设置路由器日志级别。+ 默认: info.Choices: info,warning,error.

另请参阅 :资源设置

Status Type: 字符串

资源的当前状态。

  • Pending: 资源正在处理。
  • 错误 :处理资源时出错。如需更多信息,请参阅 消息
  • Ready :资源可供使用。

另请参阅: 资源状态

Message Type: 字符串

人类可读的状态消息。此处报告错误消息。

另请参阅: 资源状态

conditions Type: array

一组指定条件,用于描述资源的当前状态。

  • 配置 :此资源的输出资源已创建。
  • 运行 :至少一个路由器 pod 正在运行。
  • 已解析 :用于链接访问的主机名或 IP 地址。
  • Ready :网站可供使用。所有其他条件都为 true。

另请参阅: 资源状态Kubernetes 条件

defaultIssuer Type: 字符串

包含活跃默认签名 CA 的 Kubernetes secret 名称。

另请参阅: 路由器 TLSKubernetes TLS secret

端点 类型: 数组

连接端点的数组。每个项目都有一个名称、主机、端口和组。

这包括用于链接访问的连接端点。

另请参阅: 链接概念站点链接

20.1.2.7. AccessGrant 资源

重新利用访问令牌重新指向本地站点的权限。远程站点可以使用包含授权 URL 和 secret 代码的令牌来获取由授权的证书颁发机构(CA)签名的证书,以及有限数量的红色。

资源状态的代码urlca 属性用于从授权生成访问令牌。

Name Type: string

资源名称。

另请参阅: Kubernetes 对象名称

命名空间 类型: 字符串

资源的命名空间。

另请参阅: 平台概念Kubernetes 命名空间系统命名空间

redemptionsAllowed Type: integer

可以重新考虑此授权的访问令牌的次数。

default
1

expirationWindow Type: 字符串(持续时间)

可以重新考虑此授权的访问令牌的时间周期。

default
15m

Code Type: 字符串

用于验证为重新设计而提交的访问令牌的 secret 代码。

如果没有设置,则会生成一个值并放在 代码 status 属性中。

issuer Type: string

在此授权重新设计令牌时用于生成证书的 Kubernetes secret 名称。

如果没有设置,则使用 Site rsource 上的 defaultIssuer

另请参阅: 路由器 TLSKubernetes TLS secret

设置 类型: 对象

包含额外设置的映射。每个映射条目都有一个字符串名称和一个字符串值。

注意

通常,我们建议不要从默认值更改设置。

另请参阅 :资源设置

Status Type: 字符串

资源的当前状态。

  • Pending: 资源正在处理。
  • 错误 :处理资源时出错。如需更多信息,请参阅 消息
  • Ready :资源可供使用。

另请参阅: 资源状态

Message Type: 字符串

人类可读的状态消息。此处报告错误消息。

另请参阅: 资源状态

redemptions Type: integer

重新考虑此授权的令牌的次数。

expirationTime Type: string (date-time)

授权过期的时间。

URL Type: 字符串

此授权的 token-redemption 服务的 URL。

CA Type: 字符串

此授权的 token-redemption 服务的可信服务器证书。

Code Type: 字符串

用于验证为重新设计而提交的访问令牌的 secret 代码。

default
generated

conditions Type: array

一组指定条件,用于描述资源的当前状态。

  • processed: 控制器已接受授权。
  • 已解决 :授权服务可用于处理此授权的令牌。
  • Ready :授权可供使用。所有其他条件都为 true。

另请参阅: 资源状态Kubernetes 条件

20.1.2.8. accessToken 资源

用于创建链接的简短凭证。访问令牌包含对应访问权限的 URL 和 secret 代码。

注意

访问令牌通常会 发布 并重新 考虑使用 Skupper CLI。

Name Type: string

资源名称。

另请参阅: Kubernetes 对象名称

命名空间 类型: 字符串

资源的命名空间。

另请参阅: 平台概念Kubernetes 命名空间系统命名空间

URL Type: 字符串

远程站点上授权服务的 URL。

Code Type: 字符串

提交重新设计时用来验证令牌的 secret 代码。

CA Type: 字符串

远程站点上授权服务的可信服务器证书。

linkCost 类型: 整数

创建链接时要使用的链接成本。

default
1 另请参阅: 负载均衡

设置 类型: 对象

包含额外设置的映射。每个映射条目都有一个字符串名称和一个字符串值。

注意

通常,我们建议不要从默认值更改设置。

另请参阅 :资源设置

重新考虑 类型: 布尔值

如果令牌已被重新考虑,则为 true。重新考虑令牌后,它就无法再次使用。

default
False

Status Type: 字符串

资源的当前状态。

  • Pending: 资源正在处理。
  • 错误 :处理资源时出错。如需更多信息,请参阅 消息
  • Ready :资源可供使用。

另请参阅: 资源状态

Message Type: 字符串

人类可读的状态消息。此处报告错误消息。

另请参阅: 资源状态

conditions Type: array

一组指定条件,用于描述资源的当前状态。

  • Re considered: 令牌已交换给一个链接。

另请参阅: 资源状态Kubernetes 条件

20.1.2.9. 侦听器资源

侦听器将本地连接端点绑定到 远程站点 中的 连接器。监听器和连接器通过路由密钥匹配。

Listener 资源指定接受本地客户端连接的主机和端口。要公开多端口服务,请使用同一主机值创建多个监听程序。

例子

站点 West 中的监听程序用于 site East 中的 Hello World 后端服务:

apiVersion: skupper.io/v2alpha1
kind: Listener
metadata:
  name: backend
  namespace: hello-world-west
spec:
  routingKey: backend
  host: backend
  port: 8080
Copy to Clipboard

Name Type: string

资源名称。

另请参阅: Kubernetes 对象名称

命名空间 类型: 字符串

资源的命名空间。

另请参阅: 平台概念Kubernetes 命名空间系统命名空间

routingKey Type: string

用于将流量路由到连接器的标识符。要在远程站点中启用连接到服务,本地监听程序和远程连接器必须具有匹配的路由密钥。

updatable
true 另请参阅: 路由密钥概念

主机 类型: 字符串

本地监听程序的主机名或 IP 地址。此站点上的客户端使用侦听器主机和端口来建立与远程服务的连接。

updatable
True

端口类型: 整数

本地监听器的端口。此站点上的客户端使用侦听器主机和端口来建立与远程服务的连接。

updatable
True

exposePodsByName Type: boolean

如果为 true,请将每个 pod 公开为单个服务。

default
另请见: 单个 pod 服务

tlsCredentials Type: 字符串

用于安全客户端到路由器通信的 TLS 证书捆绑包的名称。该捆绑包包含服务器证书和密钥。它选择性地包括 mutual TLS 的可信客户端证书(通常是 CA)。

在 Kubernetes 上,该值是当前命名空间中的 Secret 名称。在 Docker、Podman 和 Linux 上,值是当前命名空间中的 input/certs/ 下的目录名称。

另请参阅: 应用程序 TLSKubernetes TLS secret系统 TLS 凭证

设置 类型: 对象

包含额外设置的映射。每个映射条目都有一个字符串名称和一个字符串值。

注意

通常,我们建议不要从默认值更改设置。

  • Observer :设置用于生成流量指标的协议观察程序。+ Default: auto.Choices: auto,none,http1,http2.

另请参阅 :资源设置

Status Type: 字符串

资源的当前状态。

  • Pending: 资源正在处理。
  • 错误 :处理资源时出错。如需更多信息,请参阅 消息
  • Ready :资源可供使用。

另请参阅: 资源状态

Message Type: 字符串

人类可读的状态消息。此处报告错误消息。

另请参阅: 资源状态

hasMatchingConnector Type: boolean

如果至少有一个连接器带有匹配的路由密钥(通常在远程站点中)。

default
false 另请参阅: 路由密钥概念

conditions Type: array

一组指定条件,用于描述资源的当前状态。

  • 配置 :侦听器配置已应用到路由器。
  • 匹配 :至少有一个与这个监听程序对应的连接器。
  • Ready :侦听器可供使用。所有其他条件都为 true。

另请参阅: 资源状态Kubernetes 条件

20.1.2.10. 连接器资源

连接器将本地工作负载绑定到 远程站点 中的 监听程序。监听器和连接器通过路由密钥匹配。

在 Kubernetes 上,Connector 资源具有一个选择器和端口,用于指定工作负载 pod。

在 Docker、Podman 和 Linux 上,Connector 资源具有一个主机和端口,用于指定本地服务器。另外,Kubernetes 也可以使用主机和端口。

例子

Hello World 后端服务站点东部的连接器:

apiVersion: skupper.io/v2alpha1
kind: Connector
metadata:
  name: backend
  namespace: hello-world-east
spec:
  routingKey: backend
  selector: app=backend
  port: 8080
Copy to Clipboard

Name Type: string

资源名称。

另请参阅: Kubernetes 对象名称

命名空间 类型: 字符串

资源的命名空间。

另请参阅: 平台概念Kubernetes 命名空间系统命名空间

routingKey Type: string

用于将流量路由到连接器的标识符。要将本地工作负载公开给远程站点,远程监听程序和本地连接器必须具有匹配的路由密钥。

updatable
true 另请参阅: 路由密钥概念

端口类型: 整数

要连接的目标服务器上的端口。

updatable
True

选择器 类型: 字符串

用于指定目标服务器 pod 的 Kubernetes 标签选择器。它使用 &lt ;label-name>=<label-value&gt; 语法。

在 Kubernetes 上,需要 选择器 或主机

updatable
true 还会看到: Kubernetes 标签选择器

主机 类型: 字符串

服务器的主机名或 IP 地址。这是指定目标服务器的 选择器 的替代选择。

在 Kubernetes 上,需要 选择器 或主机

在 Docker、Podman 或 Linux 上,需要 host

updatable
True

includeNotReadyPods Type: boolean

如果为 true,请将服务器 pod 包含在 NotReady 状态。

default
False

exposePodsByName Type: boolean

如果为 true,请将每个 pod 公开为单个服务。

default
另请见: 单个 pod 服务

tlsCredentials Type: 字符串

用于安全路由器到服务器通信的 TLS 证书捆绑包名称。该捆绑包包含可信服务器证书(通常是 CA)。它选择性地包括 mutual TLS 的客户端证书和密钥。

在 Kubernetes 上,该值是当前命名空间中的 Secret 名称。在 Docker、Podman 和 Linux 上,值是当前命名空间中的 input/certs/ 下的目录名称。

另请参阅: 应用程序 TLSKubernetes TLS secret系统 TLS 凭证

useClientCert Type: boolean

连接时发送客户端证书,以启用 mutual TLS。

default
false 另请参阅: 应用程序 TLS

verifyHostname Type: boolean

如果为 true,要求连接的服务器的主机名与服务器证书中的主机名匹配。

default
false 另请参阅: 应用程序 TLS

设置 类型: 对象

包含额外设置的映射。每个映射条目都有一个字符串名称和一个字符串值。

注意

通常,我们建议不要从默认值更改设置。

另请参阅 :资源设置

Status Type: 字符串

资源的当前状态。

  • Pending: 资源正在处理。
  • 错误 :处理资源时出错。如需更多信息,请参阅 消息
  • Ready :资源可供使用。

另请参阅: 资源状态

Message Type: 字符串

人类可读的状态消息。此处报告错误消息。

另请参阅: 资源状态

hasMatchingListener Type: boolean

如果至少有一个监听程序具有匹配的路由密钥(通常在远程站点中)。

default
false 另请参阅: 路由密钥概念

conditions Type: array

一组指定条件,用于描述资源的当前状态。

  • 配置 :连接器配置已应用到路由器。
  • 匹配 :至少有一个与这个连接器对应的监听程序。
  • Ready :连接器可供使用。所有其他条件都为 true。

20.1.2.11. AttachedConnector 资源

selectedPods Type: array

peer 命名空间中的连接器。

Name Type: string

资源名称。

名称必须与站点命名空间中关联的 AttachedConnectorBinding 资源相同。

另请参阅: Kubernetes 对象名称

命名空间 类型: 字符串

资源的命名空间。

另请参阅: 平台概念Kubernetes 命名空间系统命名空间

siteNamespace Type: 字符串

定义此连接器应附加到的命名空间的名称。

端口类型: 整数

要连接的目标服务器上的端口。

updatable
True

选择器 类型: 字符串

用于指定目标服务器 pod 的 Kubernetes 标签选择器。它使用 &lt ;label-name>=<label-value&gt; 语法。

在 Kubernetes 上,需要 选择器 或主机

updatable
true 还会看到: Kubernetes 标签选择器

includeNotReadyPods Type: boolean

如果为 true,请将服务器 pod 包含在 NotReady 状态。

default
False

tlsCredentials Type: 字符串

用于安全路由器到服务器通信的 TLS 证书捆绑包名称。该捆绑包包含可信服务器证书(通常是 CA)。它选择性地包括 mutual TLS 的客户端证书和密钥。

在 Kubernetes 上,该值是当前命名空间中的 Secret 名称。在 Docker、Podman 和 Linux 上,值是当前命名空间中的 input/certs/ 下的目录名称。

另请参阅: 应用程序 TLSKubernetes TLS secret系统 TLS 凭证

设置 类型: 对象

包含额外设置的映射。每个映射条目都有一个字符串名称和一个字符串值。

注意

通常,我们建议不要从默认值更改设置。

另请参阅 :资源设置

Status Type: 字符串

资源的当前状态。

  • Pending: 资源正在处理。
  • 错误 :处理资源时出错。如需更多信息,请参阅 消息
  • Ready :资源可供使用。

另请参阅: 资源状态

conditions Type: array

一组指定条件,用于描述资源的当前状态。

另请参阅: 资源状态Kubernetes 条件

20.1.2.12. AttachedConnectorBinding 资源

selectedPods Type: array

绑定到对等命名空间中的附加连接器。

Name Type: string

资源名称。

名称必须与连接器命名空间中的关联 AttachedConnector 资源的名称相同。

另请参阅: Kubernetes 对象名称

命名空间 类型: 字符串

资源的命名空间。

另请参阅: 平台概念Kubernetes 命名空间系统命名空间

connectorNamespace Type: 字符串

关联的 AttachedConnector 所在的命名空间的名称。

routingKey Type: string

用于将流量路由到连接器的标识符。要将本地工作负载公开给远程站点,远程监听程序和本地连接器必须具有匹配的路由密钥。

updatable
true 另请参阅: 路由密钥概念

exposePodsByName Type: boolean

如果为 true,请将每个 pod 公开为单个服务。

default
另请见: 单个 pod 服务

设置 类型: 对象

包含额外设置的映射。每个映射条目都有一个字符串名称和一个字符串值。

注意

通常,我们建议不要从默认值更改设置。

另请参阅 :资源设置

Status Type: 字符串

资源的当前状态。

  • Pending: 资源正在处理。
  • 错误 :处理资源时出错。如需更多信息,请参阅 消息
  • Ready :资源可供使用。

另请参阅: 资源状态

hasMatchingListener Type: boolean

如果至少有一个监听程序具有匹配的路由密钥(通常在远程站点中)。

default
false 另请参阅: 路由密钥概念

conditions Type: array

一组指定条件,用于描述资源的当前状态。

另请参阅: 资源状态Kubernetes 条件

20.1.3. skupper 命令

20.1.4. CLI Group:站点操作

20.1.4.1. 使用站点

20.1.4.1.1. 站点命令
skupper site [subcommand] [options]
Copy to Clipboard
字段value

平台

Kubernetes、Docker、Podman、Linux

表 20.1. 子命令
命令描述

站点创建

创建站点

站点更新

更改站点设置

站点删除

删除站点

站点状态

显示站点的状态

站点生成

生成 Site 资源

20.1.4.1.2. site create 命令
skupper site create <name> [options]
Copy to Clipboard

创建站点。

字段value

平台

Kubernetes、Docker、Podman、Linux

等待

Ready

例子

# Create a site
$ skupper site create west
Waiting for status...
Site "west" is ready.

# Create a site that can accept links from remote sites
$ skupper site create west --enable-link-access
Copy to Clipboard

主要选项

<name> 必需

Skupper 站点选择的名称。此名称显示在控制台和 CLI 输出中。

另请参阅: Kubernetes 对象名称

--enable-link-access 频繁使用

允许从外部访问远程站点的链接。

站点和链接是创建应用程序网络的基础。在简单的双站点网络中,至少其中一个站点必须启用链接访问权限。

另请参阅: 链接概念站点链接

--link-access-type

为来自远程站点的链接配置外部访问。

站点和链接是创建应用程序网络的基础。在简单的双站点网络中,至少其中一个站点必须启用链接访问权限。

default
default
Choices:: default
使用默认链接访问。在 OpenShift 上,默认是 路由。对于其他 Kubernetes 类别,默认值为 loadbalancer
route
使用 OpenShift 路由。仅限 OpenShift。
LoadBalancer
使用 Kubernetes 负载均衡器。仅 Kubernetes。
platform:: Kubernetes Updatable
True See also: Site link

--enable-ha

为高可用性(HA)配置站点。HA 站点有两个活跃的路由器。

请注意,Skupper 路由器是无状态的,它们会在失败后重启。这已提供高级别的可用性。启用 HA 进一步,并减少重启导致的停机时间窗口。

default
false Platforms:: Kubernetes Updatable:: True 查看: 高可用性

--timeout

如果在给定时间段内操作未完成,则引发错误。

default
60s
平台
Kubernetes 另请参见: 持续时间格式

--wait

在退出前等待给定状态。

default
ready
Choices:: none
不要等待。
配置
等待配置被应用。
ready
等待资源准备就绪。
平台
Kubernetes 还会看到: 资源状态

全局选项

--context global

设置 kubeconfig 上下文。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

另请参阅: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

错误

  • 站点资源已存在

    已经为命名空间定义了站点资源。

20.1.4.1.3. 站点更新命令
skupper site update [name] [options]
Copy to Clipboard

更改站点设置。

字段value

平台

Kubernetes、Docker、Podman、Linux

等待

Ready

例子

# Update the current site to accept links
$ skupper site update --enable-link-access
Waiting for status...
Site "west" is ready.

# Update multiple settings
$ skupper site update --enable-link-access --enable-ha
Copy to Clipboard

主要选项

[name] optional

站点资源的名称。

如果没有指定,则名称是与当前命名空间关联的站点的名称。

另请参阅: Kubernetes 对象名称

--enable-link-access 频繁使用

允许从外部访问远程站点的链接。

站点和链接是创建应用程序网络的基础。在简单的双站点网络中,至少其中一个站点必须启用链接访问权限。

另请参阅: 链接概念站点链接

--link-access-type

为来自远程站点的链接配置外部访问。

站点和链接是创建应用程序网络的基础。在简单的双站点网络中,至少其中一个站点必须启用链接访问权限。

default
default
Choices:: default
使用默认链接访问。在 OpenShift 上,默认是 路由。对于其他 Kubernetes 类别,默认值为 loadbalancer
route
使用 OpenShift 路由。仅限 OpenShift。
LoadBalancer
使用 Kubernetes 负载均衡器。仅 Kubernetes。
platform:: Kubernetes Updatable
True See also: Site link

--enable-ha

为高可用性(HA)配置站点。HA 站点有两个活跃的路由器。

请注意,Skupper 路由器是无状态的,它们会在失败后重启。这已提供高级别的可用性。启用 HA 进一步,并减少重启导致的停机时间窗口。

default
false Platforms:: Kubernetes Updatable:: True 查看: 高可用性

--timeout

如果在给定时间段内操作未完成,则引发错误。

default
60s
平台
Kubernetes

--wait

在退出前等待给定状态。

default
ready
Choices:: none
不要等待
配置
配置
ready
Ready
平台
Kubernetes 还会看到: 资源状态

全局选项

--context global

设置 kubeconfig 上下文。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

另请参阅: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

错误

  • 不存在站点资源

    没有可以更新的现有 Skupper 站点资源。

20.1.4.1.4. site delete 命令
skupper site delete [name] [options]
Copy to Clipboard

删除站点。

字段value

平台

Kubernetes、Docker、Podman、Linux

等待

删除

例子

# Delete the current site
$ skupper site delete
Waiting for deletion...
Site "west" is deleted.

# Delete the current site and all of its associated Skupper resources
$ skupper site delete --all
Copy to Clipboard

主要选项

[name] optional

站点资源的名称。

如果没有指定,则名称是与当前命名空间关联的站点的名称。

另请参阅: Kubernetes 对象名称

--all 常用

另外,删除与当前命名空间中的站点关联的所有 Skupper 资源。

--timeout

如果在给定时间段内操作未完成,则引发错误。

default
60s
平台
Kubernetes

--wait

等待删除完成,然后退出。

default
true Platforms:: Kubernetes

全局选项

--context global

设置 kubeconfig 上下文。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

另请参阅: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

错误

  • 不存在站点资源

    没有要删除的现有 Skupper 站点资源。

20.1.4.1.5. 站点状态命令
skupper site status [name] [options]
Copy to Clipboard

显示站点的状态。

字段value

平台

Kubernetes、Docker、Podman、Linux

例子

# Show the status of the current site
$ skupper site status
Name:      west
Status:    Ready
Message:   -
Copy to Clipboard

主要选项

[name] optional

站点资源的名称。

如果没有指定,则名称是与当前命名空间关联的站点的名称。

另请参阅: Kubernetes 对象名称

--timeout

如果在给定时间段内操作未完成,则引发错误。

default
60s
平台
Kubernetes 另请参见: 持续时间格式

--output

以结构化输出格式将状态打印到控制台。

Choices
JSON:: Produce JSON 输出
yaml
生成 YAML 输出

全局选项

--context global

设置 kubeconfig 上下文。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

另请参阅: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

20.1.4.1.6. 站点生成命令
skupper site generate <name> [options]
Copy to Clipboard

生成 Site 资源。

字段value

平台

Kubernetes、Docker、Podman、Linux

例子

# Generate a Site resource and print it to the console
$ skupper site generate west --enable-link-access
apiVersion: skupper.io/v2alpha1
kind: Site
metadata:
  name: west
spec:
  linkAccess: default

# Generate a Site resource and direct the output to a file
$ skupper site generate east > east.yaml
Copy to Clipboard

主要选项

<name> 必需

要生成的资源名称。

另请参阅: Kubernetes 对象名称

--enable-link-access 频繁使用

允许从外部访问远程站点的链接。

站点和链接是创建应用程序网络的基础。在简单的双站点网络中,至少其中一个站点必须启用链接访问权限。

另请参阅: 链接概念站点链接

--output

选择输出格式。

default
yaml
Choices:: json
生成 JSON 输出
yaml
生成 YAML 输出

--link-access-type

为来自远程站点的链接配置外部访问。

站点和链接是创建应用程序网络的基础。在简单的双站点网络中,至少其中一个站点必须启用链接访问权限。

default
default
Choices:: default
使用默认链接访问。在 OpenShift 上,默认是 路由。对于其他 Kubernetes 类别,默认值为 loadbalancer
route
使用 OpenShift 路由。仅限 OpenShift。
LoadBalancer
使用 Kubernetes 负载均衡器。仅 Kubernetes。
platform:: Kubernetes Updatable
True See also: Site link

--enable-ha

为高可用性(HA)配置站点。HA 站点有两个活跃的路由器。

请注意,Skupper 路由器是无状态的,它们会在失败后重启。这已提供高级别的可用性。启用 HA 进一步,并减少重启导致的停机时间窗口。

default
false Platforms:: Kubernetes Updatable:: True 查看: 高可用性

全局选项

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

20.1.5. CLI 组:站点链接

20.1.5.1. 使用令牌

20.1.5.1.1. 令牌命令
skupper token [subcommand] [options]
Copy to Clipboard
字段value

平台

Kubernetes、Docker、Podman、Linux

表 20.2. 子命令
命令描述

令牌问题

签发指向当前站点的链接的令牌文件

Token redeem

重新定义令牌文件,以创建到远程站点的链接

20.1.5.1.2. 令牌问题命令
skupper token issue <file> [options]
Copy to Clipboard

发出一个令牌文件,以重新定义到当前站点的链接。

此命令首先创建一个访问权限授权,以发出令牌。

发布令牌需要一个启用了链接访问权限的站点。在生成令牌前,命令会等待站点进入 ready 状态。

字段value

平台

Kubernetes

等待

Ready

例子

# Issue an access token
$ skupper token issue ~/token.yaml
Waiting for status...
Access grant "west-6bfn6" is ready.
Token file /home/fritz/token.yaml created.

Transfer this file to a remote site. At the remote site,
create a link to this site using the 'skupper token
redeem' command:

    $ skupper token redeem <file>

The token expires after 1 use or after 15 minutes.

# Issue an access token with non-default limits
$ skupper token issue ~/token.yaml --expiration-window 24h --redemptions-allowed 3

# Issue a token using an existing access grant
$ skupper token issue ~/token.yaml --grant west-1
Copy to Clipboard

主要选项

<file> 必需

要创建的令牌文件的名称。

平台
Kubernetes、Docker、Podman、Linux

--timeout

如果在给定时间段内操作未完成,则引发错误。

default
60s
平台
Kubernetes、Docker、Podman、Linux

--expiration-window

可以重新考虑此授权的访问令牌的时间周期。

default
15m
平台
Kubernetes、Docker、Podman、Linux

--redemptions-allowed

可以重新考虑此授权的访问令牌的次数。

default
1 platform:: Kubernetes、Docker、Podman、Linux

--grant advanced

使用 named 权限授权,而不是创建新权限。

平台
Kubernetes、Docker、Podman、Linux

全局选项

--context global

设置 kubeconfig 上下文。

另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

平台
Kubernetes、Docker、Podman、Linux 还会看到: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux
平台
Kubernetes、Docker、Podman、Linux 还了解:平台( 平台)概念

--help global

显示帮助并退出。

平台
Kubernetes、Docker、Podman、Linux

错误

  • 未启用链接访问

    此站点上的链接访问当前还未启用。您可以使用 "skupper site update --enable-link-access" 来启用它。

20.1.5.1.3. token redeem 命令
skupper token redeem <file> [options]
Copy to Clipboard

重新定义令牌文件,以创建到远程站点的链接。

字段value

平台

Kubernetes、Docker、Podman、Linux

例子

# Redeem an access token
$ skupper token redeem ~/token.yaml
Waiting for status...
Link "west-6bfn6" is active.
You can now safely delete /home/fritz/token.yaml.
Copy to Clipboard

主要选项

<file> 必需

要使用的令牌文件的名称。

--timeout

如果在给定时间段内操作未完成,则引发错误。

default
60s

--link-cost

创建链接时要使用的链接成本。

default
1 另请参阅: 负载均衡

全局选项

--context global

设置 kubeconfig 上下文。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

另请参阅: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

20.1.6. CLI 组:服务公开

20.1.6.1. 使用 Listener

20.1.6.1.1. listener 命令
skupper listener [subcommand] [options]
Copy to Clipboard
字段value

平台

Kubernetes、Docker、Podman、Linux

表 20.4. 子命令
命令描述

listener create

创建监听程序

监听器更新

更新监听程序

监听器删除

删除监听程序

侦听器状态

在当前站点中显示监听程序的状态

监听器生成

生成 Listener 资源

20.1.6.1.2. listener create 命令
skupper listener create <name> <port> [options]
Copy to Clipboard

创建监听程序。

字段value

平台

Kubernetes、Docker、Podman、Linux

等待

配置

例子

# Create a listener for a database
$ skupper listener create database 5432
Waiting for status...
Listener "database" is configured.

# Set the routing key and host explicitly
$ skupper listener create backend 8080 --routing-key be1 --host apiserver
Copy to Clipboard

主要选项

<name> 必需

要创建的资源的名称。

如果没有指定--routing-key 和 --host 选项,则 name 是默认路由密钥和 host

另请参阅: Kubernetes 对象名称

<port> 必需

本地监听器的端口。此站点上的客户端使用侦听器主机和端口来建立与远程服务的连接。

updatable
True

--routing-key 常用

用于将流量路由到连接器的标识符。要在远程站点中启用连接到服务,本地监听程序和远程连接器必须具有匹配的路由密钥。

default
name 值
updatable
True

--host 常用

本地监听程序的主机名或 IP 地址。此站点上的客户端使用侦听器主机和端口来建立与远程服务的连接。

default
name 值
updatable
True

--wait

在退出前等待给定状态。

default
ready
Choices:: none
不要等待。
配置
等待配置被应用。
ready
等待资源准备就绪。
平台
Kubernetes 还会看到: 资源状态

--timeout

如果在给定时间段内操作未完成,则引发错误。

default
60s
平台
Kubernetes 另请参见: 持续时间格式

全局选项

--context global

设置 kubeconfig 上下文。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

另请参阅: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

20.1.6.1.3. 监听器更新命令
skupper listener update <name> [options]
Copy to Clipboard

更新监听程序。

字段value

平台

Kubernetes、Docker、Podman、Linux

等待

配置

例子

# Change the host and port
$ skupper listener update database --host mysql --port 3306
Waiting for status...
Listener "database" is configured.

# Change the routing key
$ skupper listener update backend --routing-key be2
Copy to Clipboard

主要选项

<name> 必需

要更新的资源的名称。

另请参阅: Kubernetes 对象名称

--host 常用

本地监听程序的主机名或 IP 地址。此站点上的客户端使用侦听器主机和端口来建立与远程服务的连接。

default
name 值
updatable
True

--port 经常使用

本地监听器的端口。此站点上的客户端使用侦听器主机和端口来建立与远程服务的连接。

updatable
True

--routing-key 常用

用于将流量路由到连接器的标识符。要在远程站点中启用连接到服务,本地监听程序和远程连接器必须具有匹配的路由密钥。

default
name 值
updatable
True

--wait

在退出前等待给定状态。

default
ready
Choices:: none
不要等待
配置
配置
ready
Ready
平台
Kubernetes 还会看到: 资源状态

--timeout

如果在给定时间段内操作未完成,则引发错误。

default
60s
平台
Kubernetes

全局选项

--context global

设置 kubeconfig 上下文。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

另请参阅: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

20.1.6.1.4. listener delete 命令
skupper listener delete <name> [options]
Copy to Clipboard

删除监听程序。

字段value

平台

Kubernetes、Docker、Podman、Linux

等待

删除

例子

# Delete a listener
$ skupper listener delete database
Waiting for deletion...
Listener "database" is deleted.
Copy to Clipboard

主要选项

<name> 必需

要删除的资源的名称。

另请参阅: Kubernetes 对象名称

--timeout

如果在给定时间段内操作未完成,则引发错误。

default
60s
平台
Kubernetes

--wait

等待删除完成,然后退出。

default
true Platforms:: Kubernetes

全局选项

--context global

设置 kubeconfig 上下文。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

另请参阅: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

20.1.6.1.5. 监听器状态命令
skupper listener status [name] [options]
Copy to Clipboard

在当前站点中显示监听程序的状态。

字段value

平台

Kubernetes、Docker、Podman、Linux

例子

# Show the status of all listeners in the current site
$ skupper listener status
NAME       STATUS   ROUTING-KEY   HOST       PORT   CONNECTORS
backend    Ready    backend       backend    8080   true
database   Ready    database      database   5432   true

# Show the status of one listener
$ skupper listener status backend
Name:                      backend
Status:                    Ready
Message:                   <none>
Routing key:               backend
Host:                      backend
Port:                      8080
Has matching connectors:   true
Copy to Clipboard

主要选项

[name] optional

可选的资源名称。如果设置,则 status 命令仅报告指定资源的状态。

另请参阅: Kubernetes 对象名称

--timeout

如果在给定时间段内操作未完成,则引发错误。

default
60s
平台
Kubernetes 另请参见: 持续时间格式

--output

以结构化输出格式将状态打印到控制台。

Choices
JSON:: Produce JSON 输出
yaml
生成 YAML 输出

全局选项

--context global

设置 kubeconfig 上下文。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

另请参阅: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

20.1.6.1.6. listener generate 命令
skupper listener generate <name> <port> [options]
Copy to Clipboard

生成 Listener 资源。

字段value

平台

Kubernetes、Docker、Podman、Linux

例子

# Generate a Listener resource and print it to the console
$ skupper listener generate backend 8080
apiVersion: skupper.io/v2alpha1
kind: Listener
metadata:
  name: backend
spec:
  routingKey: backend
  port: 8080
  host: backend

# Generate a Listener resource and direct the output to a file
$ skupper listener generate backend 8080 > backend.yaml
Copy to Clipboard

主要选项

<name> 必需

要生成的资源名称。

另请参阅: Kubernetes 对象名称

<port> 必需

本地监听器的端口。此站点上的客户端使用侦听器主机和端口来建立与远程服务的连接。

updatable
True

--routing-key 常用

用于将流量路由到连接器的标识符。要在远程站点中启用连接到服务,本地监听程序和远程连接器必须具有匹配的路由密钥。

default
name 值
updatable
True

--host 常用

本地监听程序的主机名或 IP 地址。此站点上的客户端使用侦听器主机和端口来建立与远程服务的连接。

default
name 值
updatable
True

--wait

在退出前等待给定状态。

default
配置
Choices:: none
不要等待
配置
配置
ready
Ready

--output

选择输出格式。

default
yaml
Choices:: json
生成 JSON 输出
yaml
生成 YAML 输出

全局选项

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

20.1.6.2. 使用 Connector

20.1.6.2.1. connector 命令
skupper connector [subcommand] [options]
Copy to Clipboard
字段value

平台

Kubernetes、Docker、Podman、Linux

表 20.5. 子命令
命令描述

连接器创建

创建连接器

连接器更新

更新连接器

连接器删除

删除连接器

连接器状态

在当前站点中显示连接器的状态

连接器生成

生成 Connector 资源

20.1.6.2.2. connector create 命令
skupper connector create <name> <port> [options]
Copy to Clipboard

创建连接器。

字段value

平台

Kubernetes、Docker、Podman、Linux

等待

配置

例子

# Create a connector for a database
$ skupper connector create database 5432
Waiting for status...
Connector "database" is configured.

# Set the routing key and selector explicitly
$ skupper connector create backend 8080 --routing-key be1 --selector app=be1

# Use the workload option to select pods
$ skupper connector create backend 8080 --workload deployment/backend
Copy to Clipboard

主要选项

<name> 必需

要创建的资源的名称。

如果没有指定-- routing-key 选项,则 name 是默认路由密钥。在 Kubernetes 上,如果没有指定- selector 和- workload 选项,名称定义默认节点选择器。

另请参阅: Kubernetes 对象名称

<port> 必需

要连接的目标服务器上的端口。

updatable
True

--routing-key 常用

用于将流量路由到连接器的标识符。要将本地工作负载公开给远程站点,远程监听程序和本地连接器必须具有匹配的路由密钥。

default
name 值
updatable
True

--workload常使用

标识工作负载的 Kubernetes 资源名称。它使用 & lt;resource-type>/<resource-name > 语法,并解析为等同的 pod 选择器。

这是设置- selector 或- host 选项 的替代选择。

平台
Kubernetes 另请参见: Kubernetes 工作负载

--selector

用于指定目标服务器 pod 的 Kubernetes 标签选择器。它使用 &lt ;label-name>=<label-value&gt; 语法。

这是设置-- workload 或-- host 选项的替代选择。

default
app=[value-of-name]
platform:: Kubernetes Updatable
true 还会看到: Kubernetes 标签选择器

--host

服务器的主机名或 IP 地址。这是指定目标服务器的 选择器 的替代选择。

这是设置- selector 或- - workload 选项 的替代选择。

default
在 Kubernetes 上:名称 + on Docker, Podman, 和 Linux: localhost
updatable
True

--wait

在退出前等待给定状态。

default
ready
Choices:: none
不要等待。
配置
等待配置被应用。
ready
等待资源准备就绪。
平台
Kubernetes 还会看到: 资源状态

--timeout

如果在给定时间段内操作未完成,则引发错误。

default
60s
平台
Kubernetes 另请参见: 持续时间格式

全局选项

--context global

设置 kubeconfig 上下文。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

另请参阅: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

20.1.6.2.3. 连接器更新命令
skupper connector update <name> <port> [options]
Copy to Clipboard

更新连接器。

字段value

平台

Kubernetes、Docker、Podman、Linux

等待

配置

例子

# Change the workload and port
$ skupper connector update database --workload deployment/mysql --port 3306
Waiting for status...
Connector "database" is configured.

# Change the routing key
$ skupper connector update backend --routing-key be2
Copy to Clipboard

主要选项

<name> 必需

要更新的资源的名称。

另请参阅: Kubernetes 对象名称

<port> 必需

要连接的目标服务器上的端口。

updatable
True

--routing-key 常用

用于将流量路由到连接器的标识符。要将本地工作负载公开给远程站点,远程监听程序和本地连接器必须具有匹配的路由密钥。

default
name 值
updatable
True

--workload常使用

标识工作负载的 Kubernetes 资源名称。它使用 & lt;resource-type>/<resource-name > 语法,并解析为等同的 pod 选择器。

这是设置- selector 或- host 选项 的替代选择。

平台
Kubernetes 另请参见: Kubernetes 工作负载

--selector

用于指定目标服务器 pod 的 Kubernetes 标签选择器。它使用 &lt ;label-name>=<label-value&gt; 语法。

这是设置-- workload 或-- host 选项的替代选择。

default
app=[value-of-name]
platform:: Kubernetes Updatable
true 还会看到: Kubernetes 标签选择器

--host

服务器的主机名或 IP 地址。这是指定目标服务器的 选择器 的替代选择。

这是设置- selector 或- - workload 选项 的替代选择。

default
在 Kubernetes 上:名称 + on Docker, Podman, 和 Linux: localhost
updatable
True

--wait

在退出前等待给定状态。

default
ready
Choices:: none
不要等待
配置
配置
ready
Ready
平台
Kubernetes 还会看到: 资源状态

--timeout

如果在给定时间段内操作未完成,则引发错误。

default
60s
平台
Kubernetes

全局选项

--context global

设置 kubeconfig 上下文。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

另请参阅: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

20.1.6.2.4. connector delete 命令
skupper connector delete <name> [options]
Copy to Clipboard

删除连接器。

字段value

平台

Kubernetes、Docker、Podman、Linux

等待

删除

例子

# Delete a connector
$ skupper connector delete database
Waiting for deletion...
Connector "database" is deleted.
Copy to Clipboard

主要选项

<name> 必需

要删除的资源的名称。

另请参阅: Kubernetes 对象名称

--timeout

如果在给定时间段内操作未完成,则引发错误。

default
60s
平台
Kubernetes

--wait

等待删除完成,然后退出。

default
true Platforms:: Kubernetes

全局选项

--context global

设置 kubeconfig 上下文。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

另请参阅: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

20.1.6.2.5. 连接器状态命令
skupper connector status [name] [options]
Copy to Clipboard

在当前站点中显示连接器的状态。

字段value

平台

Kubernetes、Docker、Podman、Linux

例子

# Show the status of all connectors in the current site
$ skupper connector status
NAME       STATUS   ROUTING-KEY   SELECTOR         HOST     PORT   LISTENERS
backend    Ready    backend       app=backend      <none>   8080   true
database   Ready    database      app=postgresql   <none>   5432   true

# Show the status of one connector
$ skupper connector status backend
Name:                     backend
Status:                   Ready
Message:                  <none>
Routing key:              backend
Selector:                 app=backend
Host:                     <none>
Port:                     8080
Has matching listeners:   1
Copy to Clipboard

主要选项

[name] optional

可选的资源名称。如果设置,则 status 命令仅报告指定资源的状态。

另请参阅: Kubernetes 对象名称

--timeout

如果在给定时间段内操作未完成,则引发错误。

default
60s
平台
Kubernetes 另请参见: 持续时间格式

--output

以结构化输出格式将状态打印到控制台。

Choices
JSON:: Produce JSON 输出
yaml
生成 YAML 输出

全局选项

--context global

设置 kubeconfig 上下文。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

另请参阅: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

20.1.6.2.6. connector generate 命令
skupper connector generate <name> <port> [options]
Copy to Clipboard

生成 Connector 资源。

字段value

平台

Kubernetes、Docker、Podman、Linux

例子

# Generate a Connector resource and print it to the console
$ skupper connector generate backend 8080
apiVersion: skupper.io/v2alpha1
kind: Connector
metadata:
  name: backend
spec:
  routingKey: backend
  port: 8080
  selector: app=backend

# Generate a Connector resource and direct the output to a file
$ skupper connector generate backend 8080 > backend.yaml
Copy to Clipboard

主要选项

<name> 必需

要生成的资源名称。

另请参阅: Kubernetes 对象名称

<port> 必需

要连接的目标服务器上的端口。

updatable
True

--routing-key 常用

用于将流量路由到连接器的标识符。要将本地工作负载公开给远程站点,远程监听程序和本地连接器必须具有匹配的路由密钥。

default
name 值
updatable
True

--workload常使用

标识工作负载的 Kubernetes 资源名称。它使用 & lt;resource-type>/<resource-name > 语法,并解析为等同的 pod 选择器。

这是设置- selector 或- host 选项 的替代选择。

平台
Kubernetes 另请参见: Kubernetes 工作负载

--selector

用于指定目标服务器 pod 的 Kubernetes 标签选择器。它使用 &lt ;label-name>=<label-value&gt; 语法。

这是设置-- workload 或-- host 选项的替代选择。

default
app=[value-of-name]
platform:: Kubernetes Updatable
true 还会看到: Kubernetes 标签选择器

--host

服务器的主机名或 IP 地址。这是指定目标服务器的 选择器 的替代选择。

这是设置- selector 或- - workload 选项 的替代选择。

default
在 Kubernetes 上:名称 + on Docker, Podman, 和 Linux: localhost
updatable
True

--wait

在退出前等待给定状态。

default
配置
Choices:: none
不要等待
配置
配置
ready
Ready

--output

选择输出格式。

default
yaml
Choices:: json
生成 JSON 输出
yaml
生成 YAML 输出

全局选项

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

20.1.7. CLI 组:其他操作

20.1.7.1. 使用版本

20.1.7.1.1. version 命令
skupper version [options]
Copy to Clipboard

显示 Skupper 组件的版本。

字段value

平台

Kubernetes、Docker、Podman、Linux

例子

# Show component versions
$ skupper version
COMPONENT          VERSION
cli                2.0.0
controller         2.0.0
router             3.0.0

# Show version details in YAML format
$ skupper version --output yaml
components:
  cli:
    version: 2.0.0
  controller:
    version: 2.0.0
    images:
      controller:
        name: quay.io/skupper/controller:2.0.0
        digest: sha256:663d97f86ff3fcce27a3842cd2b3a8e32af791598a46d815c07b0aec07505f55
  router:
    version: 3.0.0
    images:
      router:
        name: quay.io/skupper/router:3.0.0
        digest: sha256:dc5e27385a1e110dd2db1903ba7ec3e0d50b57f742aa02d7dd0a7b1b68c34394
      kube-adaptor:
        name: quay.io/skupper/kube-adaptor:2.0.0
        digest: sha256:4dc24bb3d605ed3fcec2f8ef7d45ca883d9d87b278bfedd5fcca74281d617a5e
Copy to Clipboard

主要选项

--output

生成详细的结构化输出。

Choices
JSON:: Produce JSON 输出
yaml
生成 YAML 输出

全局选项

--context global

设置 kubeconfig 上下文。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--kubeconfig global

设置 kubeconfig 文件的路径。

平台
Kubernetes 另请参阅: Kubernetes kubeconfigs

--namespace global

设置当前命名空间。

另请参阅: Kubernetes 命名空间系统命名空间

--platform global

设置 Skupper 平台。

default
kubernetes
Choices:: kubernetes
Kubernetes
docker
Docker
podman
Podman
linux
Linux

另请参阅: 平台概念

--help global

显示帮助并退出。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat