sigs.k8s.io/gateway-api@v1.0.0/site-src/api-types/gateway.md (about) 1 # Gateway 2 3 ??? success "Standard Channel in v0.5.0+" 4 5 The `Gateway` resource is Beta and part of the Standard Channel in `v0.5.0+`. 6 7 A `Gateway` is 1:1 with the life cycle of the configuration of infrastructure. 8 When a user creates a `Gateway`, some load balancing infrastructure is 9 provisioned or configured (see below for details) by the `GatewayClass` 10 controller. `Gateway` is the resource that triggers actions in this API. Other 11 resources in this API are configuration snippets until a Gateway has been 12 created to link the resources together. 13 14 The `Gateway` spec defines the following: 15 16 * `GatewayClassName`- Defines the name of a `GatewayClass` object used by 17 this Gateway. 18 * `Listeners`- Define the hostnames, ports, protocol, termination, TLS 19 settings and which routes can be attached to a listener. 20 * `Addresses`- Define the network addresses requested for this gateway. 21 22 If the desired configuration specified in Gateway spec cannot be achieved, the 23 Gateway will be in an error state with details provided by status conditions. 24 25 ### Deployment models 26 27 Depending on the `GatewayClass`, the creation of a `Gateway` could do any of 28 the following actions: 29 30 * Use cloud APIs to create an LB instance. 31 * Spawn a new instance of a software LB (in this or another cluster). 32 * Add a configuration stanza to an already instantiated LB to handle the new 33 routes. 34 * Program the SDN to implement the configuration. 35 * Something else we haven’t thought of yet... 36 37 The API does not specify which one of these actions will be taken. 38 39 ### Gateway Status 40 41 `GatewayStatus` is used to surface the status of a `Gateway` relative to the 42 desired state represented in `spec`. `GatewayStatus` consists of the following: 43 44 - `Addresses`- Lists the IP addresses that have actually been bound to the 45 Gateway. 46 - `Listeners`- Provide status for each unique listener defined in `spec`. 47 - `Conditions`- Describe the current status conditions of the Gateway. 48 49 Both `Conditions` and `Listeners.conditions` follow the conditions pattern used 50 elsewhere in Kubernetes. This is a list that includes a type of condition, the 51 status of the condition and the last time this condition changed.