@@ -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 )
@@ -481,8 +483,9 @@ ensure that a name is shared by multiple services within the namespace if and
481483only if they are instances of the same service.
482484
483485Most information about the service, including ports, backends, topology and
484- session affinity, will continue to be stored in the `Service` objects, which
485- are each name mapped to a `ServiceExport`. This does not apply for labels and
486+ session affinity, internal traffic policy, and traffic distribution
487+ will continue to be stored in the `Service` objects, which are each name
488+ mapped to a `ServiceExport`. This does not apply for labels and
486489annotations which are stored in `ServiceExport` directly in `spec.exportedLabels`
487490and `spec.exportedAnnotations`. Exporting labels and annotations is optionally
488491supported by MCS-API implementations. If supported, annotations or labels must
@@ -575,6 +578,12 @@ type ServiceImportSpec struct {
575578 SessionAffinity corev1.ServiceAffinity `json:"sessionAffinity"`
576579 // +optional
577580 SessionAffinityConfig *corev1.SessionAffinityConfig `json:"sessionAffinityConfig"`
581+ // +optional
582+ InternalTrafficPolicy *corev1.ServiceInternalTrafficPolicy `json:"internalTrafficPolicy,omitempty"`
583+ // The possible TrafficDistribution values should match what can be similarly
584+ // defined in a Service, see https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution
585+ // +optional
586+ TrafficDistribution *string `json:"trafficDistribution,omitempty"`
578587}
579588
580589// ServicePort represents the port on which the service is exposed
@@ -1026,6 +1035,18 @@ Session affinity affects a service as a whole for a given consumer. The derived
10261035service's session affinity will be decided according to the conflict resolution
10271036policy.
10281037
1038+ # ### Internal Traffic Policy
1039+
1040+ Internal traffic policy affects a service as a whole for a given consumer. The derived
1041+ service's internal traffic policy will be decided according to the conflict resolution
1042+ policy.
1043+
1044+ # ### Traffic Distribution
1045+
1046+ Traffic distribution affects a service as a whole for a given consumer. The derived
1047+ service's traffic distribution will be decided according to the conflict resolution
1048+ policy.
1049+
10291050# ### Labels and Annotations
10301051
10311052If supported, exporting labels and annotations would affect a `Service` as a whole
0 commit comments