Skip to content

SinkBinding 参考

API version v1

本主题提供关于SinkBinding对象可配置参数的参考信息。

支持参数

SinkBinding资源支持以下参数:

字段 描述 必须 或 可选
apiVersion 指定API版本,例如 sources.knative.dev/v1. 必须
kind 将该资源对象标识为SinkBinding 对象。 必须
metadata 指定唯一标识SinkBinding对象的元数据。例如,一个name 必须
spec 指定此SinkBinding对象的配置信息。 必须
spec.sink 对解析为用作接收器的URI的对象的引用。 必须
spec.subject 对“运行时契约”通过绑定实现增强的资源的引用。 必须
spec.ceOverrides 定义覆盖以控制发送到接收器的事件的输出格式和修改。 可选

主题参数

Subject参数引用“运行时契约”通过绑定实现增强的资源。

subject定义支持以下字段:

字段 描述 必须 or 可选
apiVersion 引用的API版本。 必须
kind Kind of the referent. 必须
namespace 引用对象的命名空间。如果省略,默认为保存它的对象。 可选
name 推荐人的名字。 如果你配置了selector,请不要使用。
selector 引用对象的选择器。 如果配置了name,请不要使用。
selector.matchExpressions 标签选择器要求的列表。要求是 ANDed。 使用matchExpressions or matchLabels中的一个
selector.matchExpressions.key 选择器应用的标签键。 如果使用 matchExpressions 必须
selector.matchExpressions.operator 表示键与一组值的关系。有效的操作符是In, NotIn, Exists and DoesNotExist 如果使用 matchExpressions 必须
selector.matchExpressions.values 字符串值的数组。如果operatorIn or NotIn,值数组必须非空。如果operatorExists or DoesNotExist,值数组必须为空。在策略合并补丁期间替换此数组。 如果使用 matchExpressions 必须
selector.matchLabels 键值对的映射。matchLabels映射中的每个键-值对相当于matchExpressions的一个元素,其中键字段是matchLabels.<key>operatorInvalues 数组只包含"matchLabels."。要求是 ANDed。 使用matchExpressions or matchLabels中的一个

主题参数示例

给定下面的YAML,在default命名空间中命名为mysubjectDeployment被选中:

apiVersion: sources.knative.dev/v1
kind: SinkBinding
metadata:
  name: bind-heartbeat
spec:
  subject:
    apiVersion: apps/v1
    kind: Deployment
    namespace: default
    name: mysubject
  ...

给定下面的YAML,在default命名空间中选择任何带有working=example标签的Job:

apiVersion: sources.knative.dev/v1
kind: SinkBinding
metadata:
  name: bind-heartbeat
spec:
  subject:
    apiVersion: batch/v1
    kind: Job
    namespace: default
    selector:
      matchLabels:
        working: example
  ...

给定以下YAML,在default命名空间中选择任何带有working=example or working=sample标签的Pod:

apiVersion: sources.knative.dev/v1
kind: SinkBinding
metadata:
  name: bind-heartbeat
spec:
  subject:
    apiVersion: v1
    kind: Pod
    namespace: default
    selector:
      - matchExpression:
        key: working
        operator: In
        values:
          - example
          - sample
  ...

CloudEvent Overrides (覆盖)

CloudEvent Overrides定义了覆盖来控制发送到接收器的事件的输出格式和修改。

ceOverrides定义支持以下字段:

Field Description 必须 or 可选
extensions Specifies which attributes are added or overridden on the outbound event. Each extensions key-value pair is set independently on the event as an attribute extension. 可选

Note

Only valid CloudEvent attribute names are allowed as extensions. You cannot set the spec defined attributes from the extensions override configuration. For example, you can not modify the type attribute.

CloudEvent Overrides 举例

apiVersion: sources.knative.dev/v1
kind: SinkBinding
metadata:
  name: bind-heartbeat
spec:
  ...
  ceOverrides:
    extensions:
      extra: this is an extra attribute
      additional: 42

Contract

This results in the K_CE_OVERRIDES environment variable being set on the subject as follows:

{ "extensions": { "extra": "this is an extra attribute", "additional": "42" } }

Back to top

We use analytics and cookies to understand site traffic. Information about your use of our site is shared with Google for that purpose. Learn more.

× OK