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.