Skip to content

Commit 8f0014d

Browse files
update docs for 0.5.0
1 parent 9bf9079 commit 8f0014d

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,17 @@ Take a look at the [concepts](https://jobset.sigs.k8s.io/docs/concepts/) page fo
1919

2020
- **Automatic headless service configuration and lifecycle management**: ML and HPC frameworks require a stable network endpoint for each worker in the distributed workload, and since pod IPs are dynamically assigned and can change between restarts, stable pod hostnames are required for distributed training on k8s, By default, JobSet uses [IndexedJobs](https://kubernetes.io/blog/2021/04/19/introducing-indexed-jobs/) to establish stable pod hostnames, and does automatic configuration and lifecycle management of the headless service to trigger DNS record creations and establish network connectivity via pod hostnames.
2121

22-
- **Configurable success policies**: JobSet has [configurable success policies](https://github.com/kubernetes-sigs/jobset/blob/v0.4.0/examples/simple/success-policy.yaml) which target specific ReplicatedJobs, with operators to target `Any` or `All` of their child jobs. For example, you can configure the JobSet to be marked complete if and only if all pods that are part of the “worker” ReplicatedJob are completed. This enables users to use their compute resources more efficiently, allowing a workload to be declared successful and release the resources for the next workload more quickly.
22+
- **Configurable success policies**: JobSet has [configurable success policies](https://github.com/kubernetes-sigs/jobset/blob/v0.5.0/examples/simple/success-policy.yaml) which target specific ReplicatedJobs, with operators to target `Any` or `All` of their child jobs. For example, you can configure the JobSet to be marked complete if and only if all pods that are part of the “worker” ReplicatedJob are completed. This enables users to use their compute resources more efficiently, allowing a workload to be declared successful and release the resources for the next workload more quickly.
2323

24-
- **Configurable failure policies**: JobSet has [configurable failure policies](https://github.com/kubernetes-sigs/jobset/blob/v0.4.0/examples/simple/max-restarts.yaml) which allow the user to specify a maximum number of times the JobSet should be restarted in the event of a failure. If any job is marked failed, the entire JobSet will be recreated, allowing the workload to resume from the last checkpoint. When no failure policy is specified, if any job fails, the JobSet simply fails.
24+
- **Configurable failure policies**: JobSet has [configurable failure policies](https://github.com/kubernetes-sigs/jobset/blob/v0.5.0/examples/simple/max-restarts.yaml) which allow the user to specify a maximum number of times the JobSet should be restarted in the event of a failure. If any job is marked failed, the entire JobSet will be recreated, allowing the workload to resume from the last checkpoint. When no failure policy is specified, if any job fails, the JobSet simply fails.
2525

26-
- **Exclusive Placement Per Topology Domain**: JobSet includes an [annotation](https://github.com/kubernetes-sigs/jobset/blob/1ae6c0c039c21d29083de38ae70d13c2c8ec613f/examples/simple/exclusive-placement.yaml#L6) which can be set by the user, specifying that there should be a 1:1 mapping between child job and a particular topology domain, such as a datacenter rack or zone. This means that all the pods belonging to a child job will be colocated in the same topology domain, while pods from other jobs will not be allowed to run within this domain. This gives the child job exclusive access to computer resources in this domain. You can run this [example](https://github.com/kubernetes-sigs/jobset/blob/v0.4.0/examples/simple/exclusive-placement.yaml) yourself to see how exclusive placement works.
26+
- **Exclusive Placement Per Topology Domain**: JobSet includes an [annotation](https://github.com/kubernetes-sigs/jobset/blob/1ae6c0c039c21d29083de38ae70d13c2c8ec613f/examples/simple/exclusive-placement.yaml#L6) which can be set by the user, specifying that there should be a 1:1 mapping between child job and a particular topology domain, such as a datacenter rack or zone. This means that all the pods belonging to a child job will be colocated in the same topology domain, while pods from other jobs will not be allowed to run within this domain. This gives the child job exclusive access to computer resources in this domain. You can run this [example](https://github.com/kubernetes-sigs/jobset/blob/v0.5.0/examples/simple/exclusive-placement.yaml) yourself to see how exclusive placement works.
2727

2828
- **Fast failure recovery**: JobSet recovers from failures by recreating all the child Jobs. When scheduling constraints such as exclusive Job placement are used, fast failure recovery at scale can become challenging. As of JobSet v0.3.0, JobSet uses a designed such that it minimizes impact on scheduling throughput. We have benchmarked scheduling throughput during failure recovery at 290 pods/second at a 15k node scale.
2929

30-
- **Startup Sequencing**: As of JobSet v0.4.0 users can configure a [startup order](https://github.com/kubernetes-sigs/jobset/blob/v0.4.0/examples/startup-policy/startup-driver-ready.yaml) for the ReplicatedJobs in a JobSet. This enables support for patterns like the “leader-worker” paradigm, where the leader must be running before the workers should start up and connect to it.
30+
- **Startup Sequencing**: As of JobSet v0.5.0 users can configure a [startup order](https://github.com/kubernetes-sigs/jobset/blob/v0.5.0/examples/startup-policy/startup-driver-ready.yaml) for the ReplicatedJobs in a JobSet. This enables support for patterns like the “leader-worker” paradigm, where the leader must be running before the workers should start up and connect to it.
3131

32-
- **Integration with Kueue**: Use JobSet v0.2.3+ and [Kueue](https://kueue.sigs.k8s.io/) v0.4.0+ to oversubscribe your cluster with JobSet workloads, placing them in queue which supports multi-tenancy, resource sharing and more. See [Kueue documentation](https://kueue.sigs.k8s.io/) for more details on the benefits of managing JobSet workloads via Kueue.
32+
- **Integration with Kueue**: Use JobSet v0.2.3+ and [Kueue](https://kueue.sigs.k8s.io/) v0.5.0+ to oversubscribe your cluster with JobSet workloads, placing them in queue which supports multi-tenancy, resource sharing and more. See [Kueue documentation](https://kueue.sigs.k8s.io/) for more details on the benefits of managing JobSet workloads via Kueue.
3333

3434
## Production Readiness status
3535

@@ -55,7 +55,7 @@ Take a look at the [concepts](https://jobset.sigs.k8s.io/docs/concepts/) page fo
5555
To install the latest release of JobSet in your cluster, run the following command:
5656

5757
```shell
58-
kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/v0.4.0/manifests.yaml
58+
kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/v0.5.0/manifests.yaml
5959
```
6060

6161
The controller runs in the `jobset-system` namespace.

site/content/en/docs/installation/_index.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ machine type for your nodes.**
4848
To install a released version of Jobset in your cluster, run the following command:
4949

5050
```shell
51-
VERSION=v0.4.0
51+
VERSION=v0.5.0
5252
kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/$VERSION/manifests.yaml
5353
```
5454

@@ -58,7 +58,7 @@ If you are using [prometheus-operator](https://github.com/prometheus-operator/pr
5858
to scrape metrics from jobset components, run the following command:
5959

6060
```shell
61-
VERSION=v0.4.0
61+
VERSION=v0.5.0
6262
kubectl apply -f https://github.com/kubernetes-sigs/jobset/releases/download/$VERSION/prometheus.yaml
6363
```
6464

@@ -71,7 +71,7 @@ can be scraped without performing this step.
7171
To uninstall a released version of JobSet from your cluster, run the following command:
7272

7373
```shell
74-
VERSION=v0.4.0
74+
VERSION=v0.5.0
7575
kubectl delete -f https://github.com/kubernetes-sigs/jobset/releases/download/$VERSION/manifests.yaml
7676
```
7777

@@ -83,14 +83,14 @@ kubectl delete -f https://github.com/kubernetes-sigs/jobset/releases/download/$V
8383
<!-- <\!-- 1. Download the release's `manifests.yaml` file: -\-> -->
8484

8585
<!-- <\!-- ```shell -\-> -->
86-
<!-- <\!-- VERSION=v0.4.0 -\-> -->
86+
<!-- <\!-- VERSION=v0.5.0 -\-> -->
8787
<!-- <\!-- wget https://github.com/kubernetes-sigs/jobset/releases/download/$VERSION/manifests.yaml -\-> -->
8888
<!-- <\!-- ``` -\-> -->
8989
<!-- <\!-- 2. With an editor of your preference, open `manifests.yaml`. -\-> -->
9090
<!-- <\!-- 3. In the `jobset-manager-config` ConfigMap manifest, edit the -\-> -->
9191
<!-- <\!-- `controller_manager_config.yaml` data entry. The entry represents -\-> -->
9292
<!-- <\!-- the default JobSet Configuration -\-> -->
93-
<!-- <\!-- struct ([v1alpha2@v0.4.0](https://pkg.go.dev/sigs.k8s.io/jobset@v0.4.0/apis/config/v1alpha2#Configuration)). -\-> -->
93+
<!-- <\!-- struct ([v1alpha2@v0.5.0](https://pkg.go.dev/sigs.k8s.io/jobset@v0.5.0/apis/config/v1alpha2#Configuration)). -\-> -->
9494
<!-- <\!-- The contents of the ConfigMap are similar to the following: -\-> -->
9595

9696

0 commit comments

Comments
 (0)