KEP-2365: documentation for namespace-scoped parameters reference

This commit is contained in:
Harry Bagdi 2021-03-26 13:34:46 +05:30
parent c6f0215796
commit 80391efa7e
3 changed files with 29 additions and 1 deletions

View File

@ -220,7 +220,19 @@ of the controller that should implement the class.
{{< codenew file="service/networking/external-lb.yaml" >}} {{< codenew file="service/networking/external-lb.yaml" >}}
IngressClass resources contain an optional parameters field. This can be used to IngressClass resources contain an optional parameters field. This can be used to
reference additional configuration for this class. reference additional implementation-specific configuration for this class.
#### Namespace-scoped parameters
{{< feature-state for_k8s_version="v1.21" state="alpha" >}}
`Parameters` field has a `scope` and `namespace` field that can be used to
reference a namespace-specific resource for configuration of an Ingress class.
`Scope` field defaults to `Cluster`, meaning, the default is cluster-scoped
resource. Setting `Scope` to `Namespace` and setting the `Namespace` field
will reference a paramters resource in a specific namespace:
{{< codenew file="service/networking/namespaced-params.yaml" >}}
### Deprecated annotation ### Deprecated annotation

View File

@ -124,6 +124,7 @@ different Kubernetes components.
| `HPAScaleToZero` | `false` | Alpha | 1.16 | | | `HPAScaleToZero` | `false` | Alpha | 1.16 | |
| `HugePageStorageMediumSize` | `false` | Alpha | 1.18 | 1.18 | | `HugePageStorageMediumSize` | `false` | Alpha | 1.18 | 1.18 |
| `HugePageStorageMediumSize` | `true` | Beta | 1.19 | | | `HugePageStorageMediumSize` | `true` | Beta | 1.19 | |
| `IngressClassNamespacedParams` | `false` | Alpha | 1.21 | |
| `IPv6DualStack` | `false` | Alpha | 1.15 | 1.20 | | `IPv6DualStack` | `false` | Alpha | 1.15 | 1.20 |
| `IPv6DualStack` | `true` | Beta | 1.21 | | | `IPv6DualStack` | `true` | Beta | 1.21 | |
| `KubeletCredentialProviders` | `false` | Alpha | 1.20 | | | `KubeletCredentialProviders` | `false` | Alpha | 1.20 | |
@ -642,6 +643,9 @@ Each feature gate is designed for enabling/disabling a specific feature:
immutable for better safety and performance. immutable for better safety and performance.
- `IndexedJob`: Allows the [Job](/docs/concepts/workloads/controllers/job/) - `IndexedJob`: Allows the [Job](/docs/concepts/workloads/controllers/job/)
controller to manage Pod completions per completion index. controller to manage Pod completions per completion index.
- `IngressClassNamespacedParams`: Allow namespace-scoped parameters reference in
`IngressClass` resouce. This feature adds two fields - `Scope` and `Namespace`
to `IngressClass.spec.parameters`.
- `IPv6DualStack`: Enable [dual stack](/docs/concepts/services-networking/dual-stack/) - `IPv6DualStack`: Enable [dual stack](/docs/concepts/services-networking/dual-stack/)
support for IPv6. support for IPv6.
- `KubeletConfigFile` (*deprecated*): Enable loading kubelet configuration from - `KubeletConfigFile` (*deprecated*): Enable loading kubelet configuration from

View File

@ -0,0 +1,12 @@
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
name: external-lb
spec:
controller: example.com/ingress-controller
parameters:
apiGroup: k8s.example.com
kind: IngressParameters
name: external-lb
namespace: external-configuration
scope: Namespace