Service Traffic Setting
ServiceTrafficSetting
allows configuring traffic related properties
such as resiliency, reachability, load balancing and egress proxy for a
particular service in a traffic group. These settings will merge and
overwrite the traffic group wide settings.
The following example creates a traffic group for the proxy workloads in
ns1
, ns2
and ns3
namespaces owned by its parent workspace w1
under
tenant mycompany
. It then defines a service traffic setting for the workloads
selected by service foo.ns1.svc.cluster.local
. This setting limits the workloads
of foo.ns1.svc.cluster.local
to only discover services in in ns1
, ns2
, ns3
and db
namespace. It also configures that outbound traffic to a service or IP which
is not a part of the mesh should be forwarded through through egress gateway deployed
in istio-system
namespace.
apiVersion: traffic.tsb.tetrate.io/v2
kind: Group
metadata:
name: t1
workspace: w1
tenant: mycompany
organization: myorg
spec:
namespaceSelectors:
- name: "*/ns1"
- name: "*/ns2"
- name: "*/ns3"
configMode: BRIDGED
And the associated service traffic settings:
```yaml
apiVersion: traffic.tsb.tetrate.io/v2
kind: ServiceTrafficSetting
metadata:
name: defaults
group: t1
workspace: w1
tenant: mycompany
organization: myorg
spec:
service: ns1/foo.ns1.svc.cluster.local
settings:
outbound:
reachability:
mode: CUSTOM
hosts:
- "ns1/*"
- "ns2/*"
- "ns3/*"
- "db/*"
upstreamTrafficSettings:
- hosts:
- "*"
settings:
resilience:
circuitBreakerSensitivity: MEDIUM
egress:
host: istio-system/istio-egressgateway
The following service traffic setting confines the reachability of the service
foo.ns1.svc.cluster.local
sidecar proxies in the traffic group t1
to other
namespaces inside the group. The resilience and egress gateway settings will be
inherited from the workspace wide traffic setting.
apiVersion: traffic.tsb.tetrate.io/v2
kind: ServiceTrafficSetting
metadata:
name: defaults
group: t1
workspace: w1
tenant: mycompany
organization: myorg
spec:
service: ns1/foo.ns1.svc.cluster.local
settings:
outbound:
reachability:
mode: GROUP
ServiceTrafficSetting
A service traffic setting applies configuration to a service in a traffic group. Unset fields will inherit values from the workspace-wide setting if any.
Field | Description | Validation Rule |
---|---|---|
service | string Only one service traffic setting can be given per service. Any conflicting configuration created later will be rejected by TSB. | string = { |
settings | tetrateio.api.tsb.traffic.v2.TrafficSetting | message = { |
configGenerationMetadata | tetrateio.api.tsb.types.v2.ConfigGenerationMetadata | – |