I am currently looking at Traefik support for Kubernetes Gateway API and trying to understand what configuration/resources users would typically deploy for this.
When I deploy Traefik with Gateway support enabled (helm install traefik --set experimental.kubernetesGateway.enabled=true traefik/traefik as per the Getting Started with Traefik and the New Kubernetes Gateway API blog post, a Gateway resource with one listener gets already created for me.
Is the expected/recommended user workflow such that in a cluster there is only one Gateway resource (which is created by Traefik) and the only Gateway API resources that users create themselves are HTTPRoutes? Is it going to be possible to, for example, tell Traefik to not create Gateway in case I want to specific Gateway configuration?
The kubernetes gateway API is a new method of declaring how ingress routing should occur in your environment.
The sig-network community has a great image on their homepage: (https://gateway-api.sigs.k8s.io/) and associated introduction that may assist with understanding who should be managing what.
Is the expected/recommended user workflow such that in a cluster there is only one Gateway resource?
Nope, you may have many gateway resources, which may trigger different provisioning depending on your infrastructure: (Gateway - Kubernetes Gateway API).
[are] the only Gateway API resources that users create themselves are HTTPRoute s?
Is it going to be possible to, for example, tell Traefik to not create Gateway in case I want to specific Gateway configuration?
Traefik by itself does not create any kubernetes objects. The Traefik helm chart created the default gateway so that it operates properly when installed. Being that the gateway functionality is experimental in the helm chart, it is possible that behavior may change.