@@ -107,6 +107,8 @@ tags, and then generate with `hack/update-toc.sh`.
107107 - [ Service Port] ( #service-port )
108108 - [ Headlessness] ( #headlessness )
109109 - [ Session Affinity] ( #session-affinity )
110+ - [ Internal Traffic Policy] ( #internal-traffic-policy )
111+ - [ Traffic Distribution] ( #traffic-distribution )
110112 - [ Labels and Annotations] ( #labels-and-annotations )
111113 - [ Test Plan] ( #test-plan )
112114 - [ Graduation Criteria] ( #graduation-criteria )
@@ -477,8 +479,9 @@ ensure that a name is shared by multiple services within the namespace if and
477479only if they are instances of the same service.
478480
479481Most information about the service, including ports, backends, topology and
480- session affinity, will continue to be stored in the `Service` objects, which
481- are each name mapped to a `ServiceExport`. This does not apply for labels and
482+ session affinity, internal traffic policy, and traffic distribution
483+ will continue to be stored in the `Service` objects, which are each name
484+ mapped to a `ServiceExport`. This does not apply for labels and
482485annotations which are stored in `ServiceExport` directly in `spec.exportedLabels`
483486and `spec.exportedAnnotations`. Exporting labels and annotations is optionally
484487supported by MCS-API implementations. If supported, annotations or labels must
@@ -586,6 +589,12 @@ type ServiceImportSpec struct {
586589 SessionAffinity corev1.ServiceAffinity `json:"sessionAffinity"`
587590 // +optional
588591 SessionAffinityConfig *corev1.SessionAffinityConfig `json:"sessionAffinityConfig"`
592+ // +optional
593+ InternalTrafficPolicy *corev1.ServiceInternalTrafficPolicy `json:"internalTrafficPolicy,omitempty"`
594+ // The possible TrafficDistribution values should match what can be similarly
595+ // defined in a Service, see https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution
596+ // +optional
597+ TrafficDistribution *string `json:"trafficDistribution,omitempty"`
589598}
590599
591600// ServicePort represents the port on which the service is exposed
@@ -1043,6 +1052,18 @@ Session affinity affects a service as a whole for a given consumer. The derived
10431052service's session affinity will be decided according to the conflict resolution
10441053policy.
10451054
1055+ # ### Internal Traffic Policy
1056+
1057+ Internal traffic policy affects a service as a whole for a given consumer. The derived
1058+ service's internal traffic policy will be decided according to the conflict resolution
1059+ policy.
1060+
1061+ # ### Traffic Distribution
1062+
1063+ Traffic distribution affects a service as a whole for a given consumer. The derived
1064+ service's traffic distribution will be decided according to the conflict resolution
1065+ policy.
1066+
10461067# ### Labels and Annotations
10471068
10481069If supported, exporting labels and annotations would affect a `Service` as a whole
0 commit comments