11.3. 使用 YAML 为不同命名空间创建连接器
连接器将本地工作负载绑定到远程站点中的监听程序。
如果您在一个命名空间中创建站点并需要在不同命名空间中创建服务,请使用以下步骤在其他命名空间中创建 附加连接器,并在站点命名空间中创建一个 AttachedConnectorBinding。
- 附加的连接器是 peer 命名空间中的连接器,即站点命名空间。
- AttachedConnectorBinding 是到对等命名空间中附加的连接器的绑定,并在站点命名空间中创建。
流程
在非站点命名空间中创建一个要在网络上公开的工作负载,例如:
kubectl create deployment backend --image quay.io/skupper/hello-world-backend --replicas 3在同一命名空间中创建 AttachedConnector 资源 YAML 文件:
apiVersion: skupper.io/v2alpha1 kind: AttachedConnector metadata: name: backend namespace: attached spec: siteNamespace: skupper selector: app=backend port: 8080创建 AttachedConnector 资源:
kubectl apply -f <filename>其中
<filename>是保存在本地文件系统中的 YAML 文件的名称。在站点命名空间中创建 AttachedConnectorBinding 资源 YAML 文件:
apiVersion: skupper.io/v2alpha1 kind: AttachedConnector metadata: name: backend namespace: attached spec: siteNamespace: skupper selector: app=backend port: 8080创建 AttachedConnectorBinding 资源:
kubectl apply -f <filename>其中
<filename>是保存在本地文件系统中的 YAML 文件的名称。从站点命名空间的上下文检查 AttachedConnectorBinding 状态:
kubectl get AttachedConnectorBinding例如:
NAME ROUTING KEY CONNECTOR NAMESPACE STATUS HAS MATCHING LISTENER backend backend attached Ready true默认情况下,routing key 名称被设置为连接器的名称。如果要使用自定义路由密钥,请将
-routing-key设置为您的自定义名称。
使用 YAML 创建连接器时需要考虑许多选项,请参阅 Connector 资源。