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.
ReadinessProbe
HTTPHealthCheckConfig
GrpcHealthCheckConfig
HTTPHeader
TCPHealthCheckConfig
ExecHealthCheckConfig
WorkloadGroup.ObjectMeta
ObjectMeta
describes metadata that will be attached to a WorkloadEntry
.
It is a subset of the supported Kubernetes metadata.