ContainerSource 引用¶
本主题提供有关 ContainerSource 对象可配置字段的参考信息。
ContainerSource¶
ContainerSource 定义支持以下字段
| 字段 | 描述 | 必需或可选 |
|---|---|---|
apiVersion |
指定 API 版本,例如 sources.knative.dev/v1。 |
必需 |
kind |
将此资源对象标识为 ContainerSource 对象。 | 必需 |
metadata |
指定唯一标识 ContainerSource 对象的元数据。例如,name。 |
必需 |
spec |
指定此 ContainerSource 对象的配置信息。 | 必需 |
spec.sink |
引用一个对象,该对象解析为用作接收器的 URI。 | 必需 |
spec.template |
一个形状为 Deployment.spec.template 的 template,将用于此 ContainerSource。 |
必需 |
spec.ceOverrides |
定义覆盖,以控制发送到接收器的事件的输出格式和修改。 | 可选 |
模板参数¶
这是一个形状为 Deployment.spec.template 的 template,将用于 ContainerSource。有关更多信息,请参阅 Kubernetes 文档。
示例:模板参数¶
apiVersion: sources.knative.dev/v1
kind: ContainerSource
metadata:
name: test-heartbeats
spec:
template:
spec:
containers:
- image: gcr.io/knative-nightly/knative.dev/eventing/cmd/heartbeats
name: heartbeats
args:
- --period=1
env:
- name: POD_NAME
value: "mypod"
- name: POD_NAMESPACE
value: "event-test"
...
CloudEvent 覆盖¶
CloudEvent 覆盖定义了用于控制发送到接收器的事件的输出格式和修改的覆盖。
ceOverrides 定义支持以下字段
| 字段 | 描述 | 必需或可选 |
|---|---|---|
extensions |
指定哪些属性被添加到出站事件或被其覆盖。每个 extensions 键值对作为属性扩展独立地设置在事件上。 |
可选 |
注意
只允许使用有效的 CloudEvent 属性名称 作为扩展。您不能从扩展覆盖配置中设置规范定义的属性。例如,您不能修改 type 属性。
示例:CloudEvent 覆盖¶
apiVersion: sources.knative.dev/v1
kind: ContainerSource
metadata:
name: test-heartbeats
spec:
...
ceOverrides:
extensions:
extra: this is an extra attribute
additional: 42
契约
这将导致 K_CE_OVERRIDES 环境变量在 subject 上设置如下
{ "extensions": { "extra": "this is an extra attribute", "additional": "42" } }