Resource Labels

This page presents the various resource labels that Istio supports to control its behavior.

Label NameFeature StatusResource TypesDescription
istio.io/revAlpha[Namespace]Istio control plane revision associated with the resource; e.g. `canary`
networking.istio.io/gatewayPortAlpha[Service]IstioGatewayPortLabel overrides the default 15443 value to use for a multi-network gateway's port
service.istio.io/canonical-nameAlpha[Pod]The name of the canonical service a workload belongs to
service.istio.io/canonical-revisionAlpha[Pod]The name of a revision within a canonical service that the workload belongs to
topology.istio.io/clusterAlpha[Pod]This label is applied to a workload internally that identifies the Kubernetes cluster containing the workload. The cluster ID is specified during Istio installation for each cluster via `values.global.multiCluster.clusterName`. It should be noted that this is only used internally within Istio and is not an actual label on workload pods. If a pod contains this label, it will be overridden by Istio internally with the cluster ID specified during Istio installation. This label provides a way to select workloads by cluster when using DestinationRules. For example, a service owner could create a DestinationRule containing a subset per cluster and then use these subsets to control traffic flow to each cluster independently.
topology.istio.io/networkBeta[Namespace Pod Service]A label used to identify the network for one or more pods. This is used
internally by Istio to group pods resident in the same L3 domain/network.
Istio assumes that pods in the same network are directly reachable from
one another. When pods are in different networks, an Istio Gateway
(e.g. east-west gateway) is typically used to establish connectivity
(with AUTO_PASSTHROUGH mode). This label can be applied to the following
resources to help automate Istio's multi-network configuration.

* Istio System Namespace: Applying this label to the system namespace
establishes a default network for pods managed by the control plane.
This is typically configured during control plane installation using an
admin-specified value.

* Pod: Applying this label to a pod allows overriding the default network
on a per-pod basis. This is typically applied to the pod via webhook
injection, but can also be manually specified on the pod by the service
owner. The Istio installation in each cluster configures webhook injection
using an admin-specified value.

* Gateway Service: Applying this label to the Service for an Istio Gateway,
indicates that Istio should use this service as the gateway for the
network, when configuring cross-network traffic. Istio will configure
pods residing outside of the network to access the Gateway service
via `spec.externalIPs`, `status.loadBalancer.ingress[].ip`, or in the case
of a NodePort service, the Node's address. The label is configured when
installing the gateway (e.g. east-west gateway) and should match either
the default network for the control plane (as specified by the Istio System
Namespace label) or the network of the targeted pods.
topology.istio.io/subzoneBeta[Node]User-provided node label for identifying the locality subzone of a workload. This allows admins to specify a more granular level of locality than what is offered by default with Kubernetes regions and zones.
Was this information useful?
Do you have any suggestions for improvement?

Thanks for your feedback!