×

OpenShift Container Platform 路由支持使用自定义标签和注释,您可以通过修改 Knative 服务的metadata规范来配置它们。自定义标签和注释从服务传播到 Knative 路由,然后传播到 Knative 入口,最后传播到 OpenShift Container Platform 路由。

自定义 OpenShift Container Platform 路由的标签和注释

先决条件
  • 您必须在 OpenShift Container Platform 集群上安装 OpenShift Serverless 运算符和 Knative Serving。

  • 安装 OpenShift CLI (oc)。

步骤
  1. 创建一个包含您想要传播到 OpenShift Container Platform 路由的标签或注释的 Knative 服务

    • 使用 YAML 创建服务

      使用 YAML 创建的服务示例
      apiVersion: serving.knative.dev/v1
      kind: Service
      metadata:
        name: <service_name>
        labels:
          <label_name>: <label_value>
        annotations:
          <annotation_name>: <annotation_value>
      ...
    • 要使用 Knative (kn) CLI 创建服务,请输入

      使用kn命令创建的服务示例
      $ kn service create <service_name> \
        --image=<image> \
        --annotation <annotation_name>=<annotation_value> \
        --label <label_value>=<label_value>
  2. 通过检查以下命令的输出,验证 OpenShift Container Platform 路由是否已创建包含您添加的注释或标签:

    验证示例命令
    $ oc get routes.route.openshift.io \
         -l serving.knative.openshift.io/ingressName=<service_name> \ (1)
         -l serving.knative.openshift.io/ingressNamespace=<service_namespace> \ (2)
         -n knative-serving-ingress -o yaml \
             | grep -e "<label_name>: \"<label_value>\""  -e "<annotation_name>: <annotation_value>" (3)
    
    1 使用您的服务名称。
    2 使用创建服务的命名空间。
    3 使用标签和注释的名称和值的自定义值。