サービスカスタムイングレスクラスの設定¶
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
値をオーバーライドします。