11.10. アノテーションの関数への追加

デプロイされたサーバーレス機能に Kubernetes アノテーションを追加できます。注釈を使用すると、関数の目的に関するメモなど、任意のメタデータを関数に添付できます。注釈は、func.yaml 設定ファイルの annotations セクションに追加されます。

関数アノテーション機能には、以下の 2 つの制限があります。

  • 関数アノテーションがクラスター上の対応する Knative サービスに伝播されると、func.yaml ファイルから削除することでサービスから削除することはできません。サービスの YAML ファイルを直接変更するか、または OpenShift Container Platform Web コンソールを使用して、Knative サービスからアノテーションを削除する必要があります。
  • autoscaling アノテーションなど、Knative によって設定されるアノテーションを設定することはできません。

11.10.1. 関数へのアノテーションの追加

関数にアノテーションを追加できます。ラベルと同様に、アノテーションはキーと値のマップとして定義されます。アノテーションは、関数の作成者など、関数に関するメタデータを提供する場合などに役立ちます。

前提条件

  • OpenShift Serverless Operator および Knative Serving がクラスターにインストールされている。
  • Knative (kn) CLI をインストールしている。
  • 関数を作成している。

手順

  1. 関数の func.yaml ファイルを開きます。
  2. 追加するすべてのアノテーションについて、以下の YAML を annotations セクションに追加します。

    name: test
    namespace: ""
    runtime: go
    ...
    annotations:
      <annotation_name>: "<annotation_value>" 1
    1
    <annotation_name>: "<annotation_value>" をお使いのアノテーションに置き換えます。

    たとえば、関数が Alice によって作成者されたことを示すには、以下のアノテーションを含めることができます。

    name: test
    namespace: ""
    runtime: go
    ...
    annotations:
      author: "alice@example.com"
  3. 設定を保存します。

次に関数をクラスターにデプロイすると、アノテーションが対応する Knative サービスに追加されます。