All Products
Search
Document Center

Alibaba Cloud Service Mesh:Why are no gateways or non-Istio gateways returned when I run the kubectl command to query gateways?

Last Updated:Jun 05, 2023

This topic describes the issue that no gateways or non-Istio gateways are returned when the kubectl command is run to query gateways. This topic also describes the cause of the issue and provides solutions.

Problem description

An Istio gateway is created. After you run the following command, the No resources found message is returned or non-Istio gateways are returned.

kubectl get gateway --all-namespaces

Cause

If you use Service Mesh (ASM) instances whose Istio version is 1.8.6 or later, you may encounter the issue. This is because Kubernetes Gateway API is automatically installed in ASM instances whose Istio version is 1.8.6 or later. For more information, see Use Gateway API to define a routing rule.

Both Kubernetes Gateway API and Istio API provide a resource that is named Gateway. The two Gateway resources have similar features, but they are different resources. The system cannot identify which resource that you specify when you run kubectl get gateway. As a result, Kubernetes gateways instead of Istio gateways may be returned. In this case, if no Kubernetes gateways are defined, no gateways are returned. If Kubernetes gateways are defined, the Kubernetes gateways are returned.

Solutions

  • Use the ASM console to view Istio gateways.

  • Use a full resource name or recognizable abbreviation in the kubectl command.

    For example, you can use gtw to represent Kubernetes gateways, and gw to represent Istio gateways. In this case, you can run kubectl get gw or kubectl get gateways.networking.istio.io to make sure that Istio gateways can be returned.