Workload Group
WorkloadGroup describes a collection of workload instances.
It provides a specification that the workload instances can use to bootstrap
their proxies, including the metadata and identity. It is only intended to
be used with non-k8s workloads like Virtual Machines, and is meant to mimic
the existing sidecar injection and deployment specification model used for
Kubernetes workloads to bootstrap Istio proxies.
The following example declares a workload group representing a collection
of workloads that will be registered under reviews in namespace
bookinfo. The set of labels will be associated with each workload
instance during the bootstrap process, and the ports 3550 and 8080
will be associated with the workload group and use service account default.
app.kubernetes.io/version is just an arbitrary example of a label.
apiVersion: networking.istio.io/v1
kind: WorkloadGroup
metadata:
name: reviews
namespace: bookinfo
spec:
metadata:
labels:
app.kubernetes.io/name: reviews
app.kubernetes.io/version: "1.3.4"
template:
ports:
grpc: 3550
http: 8080
serviceAccount: default
probe:
initialDelaySeconds: 5
timeoutSeconds: 3
periodSeconds: 4
successThreshold: 3
failureThreshold: 3
httpGet:
path: /foo/bar
host: 127.0.0.1
port: 3100
scheme: HTTPS
httpHeaders:
- name: Lit-Header
value: Im-The-Best
WorkloadGroup
WorkloadGroup enables specifying the properties of a single workload for bootstrap and
provides a template for WorkloadEntry, similar to how Deployment specifies properties
of workloads via Pod templates. A WorkloadGroup can have more than one WorkloadEntry.
WorkloadGroup has no relationship to resources which control service registry like ServiceEntry
and as such doesn’t configure host name for these workloads.
ObjectMeta
ObjectMeta describes metadata that will be attached to a WorkloadEntry.
It is a subset of the supported Kubernetes metadata.