サービスカスタムイングレスクラスの設定¶
Knativeサービスが作成されると、knative-serving名前空間にあるconfig-network ConfigMapの値に基づいて、イングレスクラス(ingress-class)が自動的に割り当てられます。このConfigMapはKnative Servingのインストールの一部です。イングレスクラスが指定されていない場合、デフォルトはistio.ingress.networking.knative.devになります。構成されると、ingress-classはingress-classアノテーションでオーバーライドされない限り、すべてのKnativeサービスに使用されます。
警告
config-network ConfigMapでイングレスクラスを変更すると、新規作成されたサービスのみに影響します。
イングレスクラスのアノテーションの使用¶
一般的に、Knativeサービスはデフォルトのingress-classを使用することが推奨されます。ただし、複数のネットワーク実装があるシナリオでは、サービスごとに異なるイングレスクラスのアノテーションを指定したい場合があります。
networking.knative.dev/ingress-classアノテーションを指定することで、各サービスが異なるイングレスクラスを使用するように構成できます。
サービスにイングレスクラスのアノテーションを追加するには、次のコマンドを実行します
kubectl annotate kservice <service-name> networking.knative.dev/ingress-class=<ingress-type>
<service-name>は、アノテーションを適用するサービスの名前です。<ingress-type>は、サービスのイングレスクラスとして使用されるイングレスのタイプです。
注
このアノテーションは、config-network ConfigMapで指定されたingress-class値をオーバーライドします。