Updating EndpointSlice documentation for beta release in 1.17 (#17411)
This commit is contained in:
@@ -14,7 +14,7 @@ weight: 10
|
|||||||
|
|
||||||
{{% capture overview %}}
|
{{% capture overview %}}
|
||||||
|
|
||||||
{{< feature-state for_k8s_version="v1.16" state="alpha" >}}
|
{{< feature-state for_k8s_version="v1.17" state="beta" >}}
|
||||||
|
|
||||||
_Endpoint Slices_ provide a simple way to track network endpoints within a
|
_Endpoint Slices_ provide a simple way to track network endpoints within a
|
||||||
Kubernetes cluster. They offer a more scalable and extensible alternative to
|
Kubernetes cluster. They offer a more scalable and extensible alternative to
|
||||||
@@ -26,7 +26,7 @@ Endpoints.
|
|||||||
|
|
||||||
## Endpoint Slice resources {#endpointslice-resource}
|
## Endpoint Slice resources {#endpointslice-resource}
|
||||||
|
|
||||||
In Kubernetes, an Endpoint Slice contains references to a set of network
|
In Kubernetes, an EndpointSlice contains references to a set of network
|
||||||
endpoints. The EndpointSlice controller automatically creates Endpoint Slices
|
endpoints. The EndpointSlice controller automatically creates Endpoint Slices
|
||||||
for a Kubernetes Service when a selector is specified. These Endpoint Slices
|
for a Kubernetes Service when a selector is specified. These Endpoint Slices
|
||||||
will include references to any Pods that match the Service selector. Endpoint
|
will include references to any Pods that match the Service selector. Endpoint
|
||||||
@@ -36,13 +36,13 @@ As an example, here's a sample EndpointSlice resource for the `example`
|
|||||||
Kubernetes Service.
|
Kubernetes Service.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: discovery.k8s.io/v1alpha1
|
apiVersion: discovery.k8s.io/v1beta1
|
||||||
kind: EndpointSlice
|
kind: EndpointSlice
|
||||||
metadata:
|
metadata:
|
||||||
name: example-abc
|
name: example-abc
|
||||||
labels:
|
labels:
|
||||||
kubernetes.io/service-name: example
|
kubernetes.io/service-name: example
|
||||||
addressType: IP
|
addressType: IPv4
|
||||||
ports:
|
ports:
|
||||||
- name: http
|
- name: http
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
@@ -50,7 +50,6 @@ ports:
|
|||||||
endpoints:
|
endpoints:
|
||||||
- addresses:
|
- addresses:
|
||||||
- "10.1.2.3"
|
- "10.1.2.3"
|
||||||
- "2001:db8::1234:5678"
|
|
||||||
conditions:
|
conditions:
|
||||||
ready: true
|
ready: true
|
||||||
hostname: pod-1
|
hostname: pod-1
|
||||||
@@ -67,6 +66,14 @@ Endpoint Slices can act as the source of truth for kube-proxy when it comes to
|
|||||||
how to route internal traffic. When enabled, they should provide a performance
|
how to route internal traffic. When enabled, they should provide a performance
|
||||||
improvement for services with large numbers of endpoints.
|
improvement for services with large numbers of endpoints.
|
||||||
|
|
||||||
|
## Address Types
|
||||||
|
|
||||||
|
EndpointSlices support three address types:
|
||||||
|
|
||||||
|
* IPv4
|
||||||
|
* IPv6
|
||||||
|
* FQDN (Fully Qualified Domain Name)
|
||||||
|
|
||||||
## Motivation
|
## Motivation
|
||||||
|
|
||||||
The Endpoints API has provided a simple and straightforward way of
|
The Endpoints API has provided a simple and straightforward way of
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ selectors and uses DNS names instead. For more information, see the
|
|||||||
[ExternalName](#externalname) section later in this document.
|
[ExternalName](#externalname) section later in this document.
|
||||||
|
|
||||||
### Endpoint Slices
|
### Endpoint Slices
|
||||||
{{< feature-state for_k8s_version="v1.16" state="alpha" >}}
|
{{< feature-state for_k8s_version="v1.17" state="beta" >}}
|
||||||
|
|
||||||
Endpoint Slices are an API resource that can provide a more scalable alternative
|
Endpoint Slices are an API resource that can provide a more scalable alternative
|
||||||
to Endpoints. Although conceptually quite similar to Endpoints, Endpoint Slices
|
to Endpoints. Although conceptually quite similar to Endpoints, Endpoint Slices
|
||||||
|
|||||||
@@ -84,7 +84,8 @@ different Kubernetes components.
|
|||||||
| `DynamicAuditing` | `false` | Alpha | 1.13 | |
|
| `DynamicAuditing` | `false` | Alpha | 1.13 | |
|
||||||
| `DynamicKubeletConfig` | `false` | Alpha | 1.4 | 1.10 |
|
| `DynamicKubeletConfig` | `false` | Alpha | 1.4 | 1.10 |
|
||||||
| `DynamicKubeletConfig` | `true` | Beta | 1.11 | |
|
| `DynamicKubeletConfig` | `true` | Beta | 1.11 | |
|
||||||
| `EndpointSlice` | `false` | Alpha | 1.16 | |
|
| `EndpointSlice` | `false` | Alpha | 1.16 | 1.16 |
|
||||||
|
| `EndpointSlice` | `false` | Beta | 1.17 | |
|
||||||
| `EphemeralContainers` | `false` | Alpha | 1.16 | |
|
| `EphemeralContainers` | `false` | Alpha | 1.16 | |
|
||||||
| `ExpandCSIVolumes` | `false` | Alpha | 1.14 | 1.15 |
|
| `ExpandCSIVolumes` | `false` | Alpha | 1.14 | 1.15 |
|
||||||
| `ExpandCSIVolumes` | `true` | Beta | 1.16 | |
|
| `ExpandCSIVolumes` | `true` | Beta | 1.16 | |
|
||||||
|
|||||||
+2
-14
@@ -27,7 +27,7 @@ resources instead of a single large Endpoints resource.
|
|||||||
|
|
||||||
## Enabling Endpoint Slices
|
## Enabling Endpoint Slices
|
||||||
|
|
||||||
{{< feature-state for_k8s_version="v1.16" state="alpha" >}}
|
{{< feature-state for_k8s_version="v1.17" state="beta" >}}
|
||||||
|
|
||||||
{{< note >}}
|
{{< note >}}
|
||||||
Although Endpoint Slices may eventually replace Endpoints, many Kubernetes
|
Although Endpoint Slices may eventually replace Endpoints, many Kubernetes
|
||||||
@@ -36,19 +36,7 @@ seen as an addition to Endpoints in a cluster, not a replacement for them.
|
|||||||
{{< /note >}}
|
{{< /note >}}
|
||||||
|
|
||||||
As an alpha feature, Endpoint Slices are not enabled by default in Kubernetes.
|
As an alpha feature, Endpoint Slices are not enabled by default in Kubernetes.
|
||||||
Enabling Endpoint Slices requires as many as 3 changes to Kubernetes cluster
|
To enable them, the EndpointSlice feature gate will need to be enabled
|
||||||
configuration.
|
|
||||||
|
|
||||||
To enable the Discovery API group that includes Endpoint Slices, use the runtime
|
|
||||||
config flag (`--runtime-config=discovery.k8s.io/v1alpha1=true`).
|
|
||||||
|
|
||||||
The logic responsible for watching services, pods, and nodes and creating or
|
|
||||||
updating associated Endpoint Slices lives within the EndpointSlice controller.
|
|
||||||
This is disabled by default but can be enabled with the controllers flag on
|
|
||||||
kube-controller-manager (`--controllers=endpointslice`).
|
|
||||||
|
|
||||||
For Kubernetes components like kube-proxy to actually start using Endpoint
|
|
||||||
Slices, the EndpointSlice feature gate will need to be enabled
|
|
||||||
(`--feature-gates=EndpointSlice=true`).
|
(`--feature-gates=EndpointSlice=true`).
|
||||||
|
|
||||||
## Using Endpoint Slices
|
## Using Endpoint Slices
|
||||||
Reference in New Issue
Block a user