すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Service Mesh:kubectl コマンドを実行してゲートウェイを照会すると、ゲートウェイが返されない、または Istio 以外のゲートウェイが返されるのはなぜですか?

最終更新日:Jan 13, 2025

このトピックでは、kubectl コマンドを実行してゲートウェイを照会すると、ゲートウェイが返されない、または Istio 以外のゲートウェイが返される問題について説明します。 また、この問題の原因と解決策についても説明します。

問題の説明

Istio ゲートウェイが作成されます。 次のコマンドを実行した後、リソースが見つかりません というメッセージが返されるか、Istio 以外のゲートウェイが返されます。

kubectl get gateway --all-namespaces

原因

Istio バージョンが 1.8.6 以降の Service Mesh (ASM) インスタンスを使用している場合、この問題が発生する可能性があります。 これは、Istio バージョンが 1.8.6 以降の ASM インスタンスに Kubernetes Gateway API が自動的にインストールされるためです。 詳細については、「Gateway API を使用してルーティングルールを定義する」をご参照ください。

Kubernetes Gateway API と Istio API はどちらも Gateway という名前のリソースを提供しています。 2 つの Gateway リソースは機能が似ていますが、異なるリソースです。 kubectl get gateway を実行すると、システムはどのリソースを指定しているかを識別できません。 その結果、Istio ゲートウェイではなく Kubernetes ゲートウェイが返される場合があります。 この場合、Kubernetes ゲートウェイが定義されていないと、ゲートウェイは返されません。 Kubernetes ゲートウェイが定義されている場合は、Kubernetes ゲートウェイが返されます。

解決策

  • ASM コンソールを使用して Istio ゲートウェイを表示します。

  • kubectl コマンドで完全なリソース名または認識可能な省略形を使用します。

    たとえば、Kubernetes ゲートウェイを表すには gtw を、Istio ゲートウェイを表すには gw を使用できます。 この場合、kubectl get gw または kubectl get gateways.networking.istio.io を実行して、Istio ゲートウェイが返されることを確認できます。