Knative参照マッピング¶
フラグ名: kreference-mapping
ステージ: アルファ、デフォルトで無効
追跡 issue: #5593
ペルソナ: 管理者、開発者
有効にすると、この機能により、Knative参照からテンプレート化されたURIへのマッピングを提供できます。
注
現在、PingSourceのみがこの機能をサポートしています。
たとえば、PingSourceシンクやTriggerサブスクライバーなど、Knative Eventingが参照を受け入れる場所であればどこでも、アドレス指定不可能なリソースを直接参照できます。
マッピングは、クラスター管理者がconfig-reference-mapping
ConfigMapで定義します。次の例は、JobDefinition
をJobランナーサービスにマッピングします
apiVersion: v1
kind: ConfigMap
metadata:
name: config-kreference-mapping
namespace: knative-eventing
data:
JobDefinition.v1.mygroup: "https://jobrunner.{{ .SystemNamespace }}.svc.cluster.local/{{ .Name }}"
キーは、<Kind>.<version>.<group>
の形式である必要があります。値は、有効なURIに解決する必要があります。現在、次のテンプレートデータがサポートされています
- 名前: 参照されるオブジェクトの名前
- 名前空間: 参照されるオブジェクトの名前空間
- UID: 参照されるオブジェクトのUID
- SystemNamespace: Knative Eventingがインストールされている名前空間
上記のマッピングを考えると、次の例は、PingSourceでJobDefinition
オブジェクトを直接参照する方法を示しています
apiVersion: sources.knative.dev/v1
kind: PingSource
metadata:
name: trigger-job-every-minute
spec:
schedule: "*/1 * * * *"
sink:
ref:
apiVersion: mygroup/v1
kind: JobDefinition
name: ajob