Search code examples
kubernetesistio

Istio VirtualService short name "vs" doesn't work


I've installed Istio 1.20 using Helm according to the instruction: https://istio.io/latest/docs/setup/install/helm/

I'm trying to use alias for VirtualService -> vs but for some strange reason it doesn't work for me.

$ kubectl get virtualservice
NAME       GATEWAYS               HOSTS   AGE
bookinfo   ["bookinfo-gateway"]   ["*"]   129m

$ kubectl get vs
No resources found in default namespace.

At the same time gw shorthand works perfectly:

$ kubectl get gw
NAME               AGE
bookinfo-gateway   132m

I can definitely see vs short name is defined in CustomResourceDefinition for virtualservices.networking.istio.io:

spec:
  conversion:
    strategy: None
  group: networking.istio.io
  names:
    categories:
    - istio-io
    - networking-istio-io
    kind: VirtualService
    listKind: VirtualServiceList
    plural: virtualservices
    shortNames:
    - vs
    singular: virtualservice

Can anyone point me in the right direction? I want vs alias to be working.

I would expect kubectl get virtualservice and kubectl get vs to equally work.


Solution

  • You may have multiple resources using the 'vs' shortname.

    Try kubectl api-resources, look for the SHORTNAMES column and you may see another resource using that shortname. In my case it's VolumeSnapshot at snapshot.storage.k8s.io/v1.