Tidy docs about EndpointSlice & related features
Co-authored-by: Rey Lejano <52760880+reylejano@users.noreply.github.com>
This commit is contained in:
@@ -3,7 +3,7 @@ reviewers:
|
|||||||
- freehan
|
- freehan
|
||||||
title: EndpointSlices
|
title: EndpointSlices
|
||||||
content_type: concept
|
content_type: concept
|
||||||
weight: 35
|
weight: 45
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,7 @@
|
|||||||
reviewers:
|
reviewers:
|
||||||
- johnbelamaric
|
- johnbelamaric
|
||||||
- imroc
|
- imroc
|
||||||
title: Service Topology
|
title: Topology-aware traffic routing with topology keys
|
||||||
feature:
|
|
||||||
title: Service Topology
|
|
||||||
description: >
|
|
||||||
Routing of service traffic based upon cluster topology.
|
|
||||||
|
|
||||||
content_type: concept
|
content_type: concept
|
||||||
weight: 10
|
weight: 10
|
||||||
---
|
---
|
||||||
@@ -19,10 +14,10 @@ weight: 10
|
|||||||
|
|
||||||
{{< note >}}
|
{{< note >}}
|
||||||
|
|
||||||
This feature, specifically the alpha topologyKeys API, is deprecated in
|
This feature, specifically the alpha `topologyKeys` API, is deprecated since
|
||||||
Kubernetes v1.21. [Topology Aware
|
Kubernetes v1.21.
|
||||||
Hints](/docs/concepts/services-networking/topology-aware-hints) was introduced
|
[Topology Aware Hints](/docs/concepts/services-networking/topology-aware-hints/),
|
||||||
in Kubernetes v1.21 and provides similar functionality.
|
introduced in Kubernetes v1.21, provide similar functionality.
|
||||||
|
|
||||||
{{</ note >}}
|
{{</ note >}}
|
||||||
|
|
||||||
@@ -32,33 +27,32 @@ preferentially routed to endpoints that are on the same Node as the client, or
|
|||||||
in the same availability zone.
|
in the same availability zone.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- body -->
|
<!-- body -->
|
||||||
|
|
||||||
## Introduction
|
## Topology-aware traffic routing
|
||||||
|
|
||||||
By default, traffic sent to a `ClusterIP` or `NodePort` Service may be routed to
|
By default, traffic sent to a `ClusterIP` or `NodePort` Service may be routed to
|
||||||
any backend address for the Service. Since Kubernetes 1.7 it has been possible
|
any backend address for the Service. Kubernetes 1.7 made it possible to
|
||||||
to route "external" traffic to the Pods running on the Node that received the
|
route "external" traffic to the Pods running on the same Node that received the
|
||||||
traffic, but this is not supported for `ClusterIP` Services, and more complex
|
traffic. For `ClusterIP` Services, the equivalent same-node preference for
|
||||||
topologies — such as routing zonally — have not been possible. The
|
routing wasn't possible; nor could you configure your cluster to favor routing
|
||||||
_Service Topology_ feature resolves this by allowing the Service creator to
|
to endpoints within the same zone.
|
||||||
define a policy for routing traffic based upon the Node labels for the
|
By setting `topologyKeys` on a Service, you're able to define a policy for routing
|
||||||
originating and destination Nodes.
|
traffic based upon the Node labels for the originating and destination Nodes.
|
||||||
|
|
||||||
By using Node label matching between the source and destination, the operator
|
|
||||||
may designate groups of Nodes that are "closer" and "farther" from one another,
|
|
||||||
using whatever metric makes sense for that operator's requirements. For many
|
|
||||||
operators in public clouds, for example, there is a preference to keep service
|
|
||||||
traffic within the same zone, because interzonal traffic has a cost associated
|
|
||||||
with it, while intrazonal traffic does not. Other common needs include being able
|
|
||||||
to route traffic to a local Pod managed by a DaemonSet, or keeping traffic to
|
|
||||||
Nodes connected to the same top-of-rack switch for the lowest latency.
|
|
||||||
|
|
||||||
|
The label matching between the source and destination lets you, as a cluster
|
||||||
|
operator, designate sets of Nodes that are "closer" and "farther" from one another.
|
||||||
|
You can define labels to represent whatever metric makes sense for your own
|
||||||
|
requirements.
|
||||||
|
In public clouds, for example, you might prefer to keep network traffic within the
|
||||||
|
same zone, because interzonal traffic has a cost associated with it (and intrazonal
|
||||||
|
traffic typically does not). Other common needs include being able to route traffic
|
||||||
|
to a local Pod managed by a DaemonSet, or directing traffic to Nodes connected to the
|
||||||
|
same top-of-rack switch for the lowest latency.
|
||||||
|
|
||||||
## Using Service Topology
|
## Using Service Topology
|
||||||
|
|
||||||
If your cluster has Service Topology enabled, you can control Service traffic
|
If your cluster has the `ServiceTopology` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/) enabled, you can control Service traffic
|
||||||
routing by specifying the `topologyKeys` field on the Service spec. This field
|
routing by specifying the `topologyKeys` field on the Service spec. This field
|
||||||
is a preference-order list of Node labels which will be used to sort endpoints
|
is a preference-order list of Node labels which will be used to sort endpoints
|
||||||
when accessing this Service. Traffic will be directed to a Node whose value for
|
when accessing this Service. Traffic will be directed to a Node whose value for
|
||||||
@@ -209,4 +203,3 @@ spec:
|
|||||||
* Read about [enabling Service Topology](/docs/tasks/administer-cluster/enabling-service-topology)
|
* Read about [enabling Service Topology](/docs/tasks/administer-cluster/enabling-service-topology)
|
||||||
* Read [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/)
|
* Read [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ reviewers:
|
|||||||
- maplain
|
- maplain
|
||||||
title: Service Internal Traffic Policy
|
title: Service Internal Traffic Policy
|
||||||
content_type: concept
|
content_type: concept
|
||||||
|
weight: 45
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
@@ -19,15 +20,21 @@ cluster. This can help to reduce costs and improve performance.
|
|||||||
|
|
||||||
## Using Service Internal Traffic Policy
|
## Using Service Internal Traffic Policy
|
||||||
|
|
||||||
You can enable Internal Traffic Policy for a Service by setting the
|
Once you have enabled the `ServiceInternalTrafficPolicy`
|
||||||
`spec.internalTrafficPolicy` to "Local". This tells kube-proxy to only use node
|
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/),
|
||||||
local endpoints for cluster internal traffic. Importantly, for pods on nodes with
|
you can enable an internal-only traffic policy for a
|
||||||
no endpoints for a given Service, the Service will behave as if it has zero
|
{{< glossary_tooltip text="Services" term_id="service" >}}, by setting its
|
||||||
endpoints (for Pods on this node) even if the service does have endpoints on other
|
`.spec.internalTrafficPolicy` to `Local`.
|
||||||
nodes.
|
This tells kube-proxy to only use node local endpoints for cluster internal traffic.
|
||||||
|
|
||||||
The following example shows what a Service looks like when internalTrafficPolicy
|
{{< note >}}
|
||||||
is set to "Local":
|
For pods on nodes with no endpoints for a given Service, the Service
|
||||||
|
behaves as if it has zero endpoints (for Pods on this node) even if the service
|
||||||
|
does have endpoints on other nodes.
|
||||||
|
{{< /note >}}
|
||||||
|
|
||||||
|
The following example shows what a Service looks like when you set
|
||||||
|
`.spec.internalTrafficPolicy` to `Local`:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@@ -44,19 +51,19 @@ spec:
|
|||||||
internalTrafficPolicy: Local
|
internalTrafficPolicy: Local
|
||||||
```
|
```
|
||||||
|
|
||||||
## How it Works
|
## How it works
|
||||||
|
|
||||||
kube-proxy filters the endpoints it routes to based on the
|
The kube-proxy filters the endpoints it routes to based on the
|
||||||
`spec.internalTrafficPolicy` setting. When it's "Local", only node local
|
`spec.internalTrafficPolicy` setting. When it's set to `Local`, only node local
|
||||||
endpoints are considered. When it's "Cluster" or missing, all endpoints are
|
endpoints are considered. When it's `Cluster` or missing, all endpoints are
|
||||||
considered.
|
considered.
|
||||||
When the feature gate `ServiceInternalTrafficPolicy` is on,
|
When the [feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
|
||||||
`spec.internalTrafficPolicy` defaults to "Cluster".
|
`ServiceInternalTrafficPolicy` is enabled, `spec.internalTrafficPolicy` defaults to "Cluster".
|
||||||
|
|
||||||
## Constraints
|
## Constraints
|
||||||
|
|
||||||
* Service Internal Traffic Policy is not used when `externalTrafficPolicy` is set
|
* Service Internal Traffic Policy is not used when `externalTrafficPolicy` is set
|
||||||
to "Local" on a Service. It is possible to use both features in the same cluster
|
to `Local` on a Service. It is possible to use both features in the same cluster
|
||||||
on different Services, just not on the same Service.
|
on different Services, just not on the same Service.
|
||||||
|
|
||||||
## {{% heading "whatsnext" %}}
|
## {{% heading "whatsnext" %}}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ reviewers:
|
|||||||
- robscott
|
- robscott
|
||||||
title: Topology Aware Hints
|
title: Topology Aware Hints
|
||||||
content_type: concept
|
content_type: concept
|
||||||
weight: 10
|
weight: 45
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
@@ -13,9 +13,11 @@ weight: 10
|
|||||||
|
|
||||||
_Topology Aware Hints_ enable topology aware routing by including suggestions
|
_Topology Aware Hints_ enable topology aware routing by including suggestions
|
||||||
for how clients should consume endpoints. This approach adds metadata to enable
|
for how clients should consume endpoints. This approach adds metadata to enable
|
||||||
consumers of Endpoint(Slice) to be able to route traffic closer to where it is
|
consumers of EndpointSlice and / or and Endpoints objects, so that traffic to
|
||||||
originated. For example, users can route traffic within a locality to reduce
|
those network endpoints can be routed closer to where it originated.
|
||||||
costs and improve performance.
|
|
||||||
|
For example, you can route traffic within a locality to reduce
|
||||||
|
costs, or to improve network performance.
|
||||||
|
|
||||||
<!-- body -->
|
<!-- body -->
|
||||||
|
|
||||||
@@ -24,26 +26,28 @@ costs and improve performance.
|
|||||||
Kubernetes clusters are increasingly deployed in multi-zone environments.
|
Kubernetes clusters are increasingly deployed in multi-zone environments.
|
||||||
_Topology Aware Hints_ provides a mechanism to help keep traffic within the zone
|
_Topology Aware Hints_ provides a mechanism to help keep traffic within the zone
|
||||||
it originated from. This concept is commonly referred to as "Topology Aware
|
it originated from. This concept is commonly referred to as "Topology Aware
|
||||||
Routing". When calculating the endpoints for a Service, the EndpointSlice
|
Routing". When calculating the endpoints for a {{< glossary_tooltip term_id="Service" >}},
|
||||||
controller considers the topology (region and zone) of each endpoint and
|
the EndpointSlice controller considers the topology (region and zone) of each endpoint
|
||||||
populates the hints field to allocate it to a zone. These hints are then
|
and populates the hints field to allocate it to a zone.
|
||||||
consumed by components like kube-proxy as they configure how requests are
|
Cluster components such as the {{< glossary_tooltip term_id="kube-proxy" text="kube-proxy" >}}
|
||||||
routed.
|
can then consume those hints, and use them to influence how traffic to is routed
|
||||||
|
(favoring topologically closer endpoints).
|
||||||
|
|
||||||
## Using Topology Aware Hints
|
## Using Topology Aware Hints
|
||||||
|
|
||||||
You can enable Topology Aware Hints for a Service by setting the
|
If you have [enabled](/docs/tasks/administer-cluster/enabling-topology-aware-hints) the
|
||||||
|
overall feature, you can activate Topology Aware Hints for a Service by setting the
|
||||||
`service.kubernetes.io/topology-aware-hints` annotation to `auto`. This tells
|
`service.kubernetes.io/topology-aware-hints` annotation to `auto`. This tells
|
||||||
the EndpointSlice controller to set topology hints if it is deemed safe.
|
the EndpointSlice controller to set topology hints if it is deemed safe.
|
||||||
Importantly, this does not guarantee that hints will always be set.
|
Importantly, this does not guarantee that hints will always be set.
|
||||||
|
|
||||||
## How it Works
|
## How it works {#implementation}
|
||||||
|
|
||||||
The functionality enabling this feature is split into two components: The
|
The functionality enabling this feature is split into two components: The
|
||||||
EndpointSlice controller and Kube-Proxy. This provides a high level overview of
|
EndpointSlice controller and the kube-proxy. This section provides a high level overview
|
||||||
how each component implements this feature.
|
of how each component implements this feature.
|
||||||
|
|
||||||
### EndpointSlice controller
|
### EndpointSlice controller {#implementation-control-plane}
|
||||||
|
|
||||||
The EndpointSlice controller is responsible for setting hints on EndpointSlices
|
The EndpointSlice controller is responsible for setting hints on EndpointSlices
|
||||||
when this feature is enabled. The controller allocates a proportional amount of
|
when this feature is enabled. The controller allocates a proportional amount of
|
||||||
@@ -80,19 +84,19 @@ endpoints:
|
|||||||
- name: "zone-a"
|
- name: "zone-a"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Kube-Proxy
|
### kube-proxy {#implementation-kube-proxy}
|
||||||
|
|
||||||
Kube-Proxy filters the endpoints it routes to based on the hints set by the
|
The kube-proxy component filters the endpoints it routes to based on the hints set by
|
||||||
EndpointSlice controller. In most cases, this means that kube-proxy will route
|
the EndpointSlice controller. In most cases, this means that the kube-proxy is able
|
||||||
to endpoints in the same zone. Sometimes the controller allocates endpoints from
|
to route traffic to endpoints in the same zone. Sometimes the controller allocates endpoints
|
||||||
a different zone to ensure more even distribution of endpoints between zones.
|
from a different zone to ensure more even distribution of endpoints between zones.
|
||||||
This would result in some traffic being routed to other zones.
|
This would result in some traffic being routed to other zones.
|
||||||
|
|
||||||
## Safeguards
|
## Safeguards
|
||||||
|
|
||||||
The Kubernetes control plane and the kube-proxy on each node apply some
|
The Kubernetes control plane and the kube-proxy on each node apply some
|
||||||
safeguard rules before using Topology Aware Hints. If these don't check out,
|
safeguard rules before using Topology Aware Hints. If these don't check out,
|
||||||
kube-proxy selects endpoints from anywhere in your cluster, regardless of the
|
the kube-proxy selects endpoints from anywhere in your cluster, regardless of the
|
||||||
zone.
|
zone.
|
||||||
|
|
||||||
1. **Insufficient number of endpoints:** If there are less endpoints than zones
|
1. **Insufficient number of endpoints:** If there are less endpoints than zones
|
||||||
@@ -102,7 +106,7 @@ zone.
|
|||||||
impossible to achieve a balanced allocation of endpoints among zones. For
|
impossible to achieve a balanced allocation of endpoints among zones. For
|
||||||
example, if zone-a is twice as large as zone-b, but there are only 2
|
example, if zone-a is twice as large as zone-b, but there are only 2
|
||||||
endpoints, an endpoint allocated to zone-a may receive twice as much traffic
|
endpoints, an endpoint allocated to zone-a may receive twice as much traffic
|
||||||
as zone-b. The controller wil not assign hints if it can't get this "expected
|
as zone-b. The controller does not assign hints if it can't get this "expected
|
||||||
overload" value below an acceptable threshold for each zone. Importantly this
|
overload" value below an acceptable threshold for each zone. Importantly this
|
||||||
is not based on real-time feedback. It is still possible for individual
|
is not based on real-time feedback. It is still possible for individual
|
||||||
endpoints to become overloaded.
|
endpoints to become overloaded.
|
||||||
@@ -113,14 +117,14 @@ zone.
|
|||||||
hints and so kube-proxy does not filter endpoints by zone.
|
hints and so kube-proxy does not filter endpoints by zone.
|
||||||
|
|
||||||
4. **One or more endpoints does not have a zone hint:** When this happens,
|
4. **One or more endpoints does not have a zone hint:** When this happens,
|
||||||
kube-proxy assumes that a transition from or to Topology Aware Hints is
|
the kube-proxy assumes that a transition from or to Topology Aware Hints is
|
||||||
underway. Filtering endpoints for a Service in this state would be dangerous
|
underway. Filtering endpoints for a Service in this state would be dangerous
|
||||||
so Kube-Proxy falls back to using all endpoints.
|
so the kube-proxy falls back to using all endpoints.
|
||||||
|
|
||||||
5. **A zone is not represented in hints:** If kube-proxy is unable to find at
|
5. **A zone is not represented in hints:** If the kube-proxy is unable to find
|
||||||
least one endpoint with a hint targeting the zone it is running in, it will
|
at least one endpoint with a hint targeting the zone it is running in, it falls
|
||||||
fall back to using endpoints from all zones. This is most likely to happen as
|
to using endpoints from all zones. This is most likely to happen as you add
|
||||||
a new zone is being added to a cluster.
|
a new zone into your existing cluster.
|
||||||
|
|
||||||
## Constraints
|
## Constraints
|
||||||
|
|
||||||
@@ -152,5 +156,5 @@ zone.
|
|||||||
|
|
||||||
## {{% heading "whatsnext" %}}
|
## {{% heading "whatsnext" %}}
|
||||||
|
|
||||||
* Read about [enabling Topology Aware Hints](/docs/tasks/administer-cluster/enabling-topology-aware-hints)
|
* Read about [enabling Topology Aware Hints](/docs/tasks/administer-cluster/enabling-topology-aware-hints/)
|
||||||
* Read [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/)
|
* Read [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/)
|
||||||
|
|||||||
@@ -5,55 +5,51 @@ reviewers:
|
|||||||
- imroc
|
- imroc
|
||||||
title: Enabling Service Topology
|
title: Enabling Service Topology
|
||||||
content_type: task
|
content_type: task
|
||||||
|
min-kubernetes-server-version: 1.17
|
||||||
---
|
---
|
||||||
|
|
||||||
<!-- overview -->
|
<!-- overview -->
|
||||||
{{< feature-state for_k8s_version="v1.21" state="deprecated" >}}
|
{{< feature-state for_k8s_version="v1.21" state="deprecated" >}}
|
||||||
|
|
||||||
This feature, specifically the alpha topologyKeys API, is deprecated in
|
This feature, specifically the alpha `topologyKeys` field, is deprecated since
|
||||||
Kubernetes v1.21. [Topology Aware
|
Kubernetes v1.21.
|
||||||
Hints](/docs/concepts/services-networking/topology-aware-hints) was introduced
|
[Topology Aware Hints](/docs/concepts/services-networking/topology-aware-hints/),
|
||||||
in Kubernetes v1.21 and provides similar functionality.
|
introduced in Kubernetes v1.21, provide similar functionality.
|
||||||
|
|
||||||
|
_Service Topology_ enables a {{< glossary_tooltip term_id="service">}} to route traffic based upon the Node
|
||||||
|
topology of the cluster. For example, a service can specify that traffic be
|
||||||
|
preferentially routed to endpoints that are on the same Node as the client, or
|
||||||
|
in the same availability zone.
|
||||||
|
|
||||||
## {{% heading "prerequisites" %}}
|
## {{% heading "prerequisites" %}}
|
||||||
|
|
||||||
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
|
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
|
||||||
|
|
||||||
|
|
||||||
<!-- steps -->
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
_Service Topology_ enables a service to route traffic based upon the Node
|
|
||||||
topology of the cluster. For example, a service can specify that traffic be
|
|
||||||
preferentially routed to endpoints that are on the same Node as the client, or
|
|
||||||
in the same availability zone.
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
The following prerequisites are needed in order to enable topology aware service
|
The following prerequisites are needed in order to enable topology aware service
|
||||||
routing:
|
routing:
|
||||||
|
|
||||||
* Kubernetes 1.17 or later
|
* Kubernetes v1.17 or later
|
||||||
* {{< glossary_tooltip text="Kube-proxy" term_id="kube-proxy" >}} running in iptables mode or IPVS mode
|
* Configure {{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}} to run in iptables mode or IPVS mode
|
||||||
* Enable [Endpoint Slices](/docs/concepts/services-networking/endpoint-slices/)
|
|
||||||
|
|
||||||
|
<!-- steps -->
|
||||||
|
|
||||||
## Enable Service Topology
|
## Enable Service Topology
|
||||||
|
|
||||||
{{< feature-state for_k8s_version="v1.17" state="alpha" >}}
|
{{< feature-state for_k8s_version="v1.21" state="deprecated" >}}
|
||||||
|
|
||||||
To enable service topology, enable the `ServiceTopology` and `EndpointSlice` feature gate for all Kubernetes components:
|
To enable service topology, enable the `ServiceTopology`
|
||||||
|
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/) for all Kubernetes components:
|
||||||
|
|
||||||
```
|
```
|
||||||
--feature-gates="ServiceTopology=true,EndpointSlice=true"
|
--feature-gates="ServiceTopology=true`
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## {{% heading "whatsnext" %}}
|
## {{% heading "whatsnext" %}}
|
||||||
|
|
||||||
|
* Read about [Topology Aware Hints](/docs/concepts/services-networking/topology-aware-hints/), the replacement for the `topologyKeys` field.
|
||||||
* Read about the [Service Topology](/docs/concepts/services-networking/service-topology) concept
|
* Read about [EndpointSlices](/docs/concepts/services-networking/endpoint-slices/)
|
||||||
* Read about [Endpoint Slices](/docs/concepts/services-networking/endpoint-slices)
|
* Read about the [Service Topology](/docs/concepts/services-networking/service-topology/) concept
|
||||||
* Read [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/)
|
* Read [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,9 @@ min-kubernetes-server-version: 1.21
|
|||||||
{{< feature-state for_k8s_version="v1.21" state="alpha" >}}
|
{{< feature-state for_k8s_version="v1.21" state="alpha" >}}
|
||||||
|
|
||||||
_Topology Aware Hints_ enable topology aware routing with topology hints
|
_Topology Aware Hints_ enable topology aware routing with topology hints
|
||||||
included in EndpointSlices. This approach tries to keep traffic close to where
|
included in {{< glossary_tooltip text="EndpointSlices" term_id="endpoint-slice" >}}.
|
||||||
it originated from. This can result in decreased costs and improved performance.
|
This approach tries to keep traffic close to where it originated from;
|
||||||
|
you might do this to reduce costs, or to improve network performance.
|
||||||
|
|
||||||
## {{% heading "prerequisites" %}}
|
## {{% heading "prerequisites" %}}
|
||||||
|
|
||||||
@@ -19,13 +20,13 @@ it originated from. This can result in decreased costs and improved performance.
|
|||||||
|
|
||||||
The following prerequisite is needed in order to enable topology aware hints:
|
The following prerequisite is needed in order to enable topology aware hints:
|
||||||
|
|
||||||
* {{< glossary_tooltip text="Kube-proxy" term_id="kube-proxy" >}} running in
|
* Configure the {{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}} to run in
|
||||||
iptables mode or IPVS mode
|
iptables mode or IPVS mode
|
||||||
* Ensure that you have not disabled EndpointSlices
|
* Ensure that you have not disabled EndpointSlices
|
||||||
|
|
||||||
## Enable Topology Aware Hints
|
## Enable Topology Aware Hints
|
||||||
|
|
||||||
To enable service topology, enable the `TopologyAwareHints` [feature
|
To enable service topology hints, enable the `TopologyAwareHints` [feature
|
||||||
gate](docs/reference/command-line-tools-reference/feature-gates/) for the
|
gate](docs/reference/command-line-tools-reference/feature-gates/) for the
|
||||||
kube-apiserver, kube-controller-manager, and kube-proxy:
|
kube-apiserver, kube-controller-manager, and kube-proxy:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user