You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/pages/docs/infrastructure/workers/dynamic-worker-pools.md
+30-41Lines changed: 30 additions & 41 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
---
2
2
layout: src/layouts/Default.astro
3
3
pubDate: 2023-01-01
4
-
modDate: 2024-09-24
4
+
modDate: 2026-03-10
5
5
title: Dynamic Worker pools
6
-
description: Dynamic Worker pools are used in our cloud product to dynamically create and assign workers to running tasks. This page describes how dynamic worker pools work.
6
+
description: Dynamic Worker pools are used in our cloud product to dynamically create and assign workers to running tasks. This page describes how dynamic worker pools work.
7
7
navOrder: 50
8
8
---
9
9
@@ -21,7 +21,7 @@ Octopus Cloud will automatically destroy dynamic workers as soon as one of these
21
21
- The worker has been idle for 60 minutes.
22
22
- The worker has existed for 72 hours (3 days).
23
23
24
-
Please reach out to our [support team](https://octopus.com/support) if you need these values to be adjusted for your instance.
24
+
Please reach out to our [support team](https://octopus.com/support) if you need these values to be adjusted for your instance.
25
25
:::
26
26
27
27
Worker VMs are provisioned with at least 20GB of available disk space, which is persistent until the worker is destroyed.
@@ -36,7 +36,7 @@ Each dynamic worker pool uses a specific worker image. This is a VM image which
36
36
37
37
When you sign up to [Octopus Cloud](/docs/octopus-cloud) (or create a new [space](/docs/administration/spaces)), you automatically receive a worker pool for the `Ubuntu (default)` image, and a worker pool for the `Windows (default)` image.
38
38
39
-
The full list of available worker images includes both specific operating system versions (e.g., `Ubuntu Linux 22.04`), and also generic "default" options such as `Ubuntu (default)`. Choosing the default option means that your worker will use the latest stable worker image when it is released.
39
+
The full list of available worker images includes both specific operating system versions (e.g., `Ubuntu Linux 22.04`), and also generic "default" options such as `Ubuntu (default)`. Choosing the default option means that your worker will use the latest stable worker image when it is released.
40
40
41
41
The current default images are:
42
42
@@ -50,14 +50,14 @@ The default image is a good option to choose if you are:
50
50
- Running a simple script that doesn't require specific tools or operating system versions
51
51
- Running a step [inside a container](/docs/projects/steps/execution-containers-for-workers)
52
52
53
-
If you're writing a script that relies on a specific version of tooling (e.g., Helm), then we recommend using [execution containers for workers](/docs/projects/steps/execution-containers-for-workers) to run the script in a Docker container with the tool versions you need.
53
+
If you're writing a script that relies on a specific version of tooling (e.g., Helm), then we recommend using [execution containers for workers](/docs/projects/steps/execution-containers-for-workers) to run the script in a Docker container with the tool versions you need.
54
54
55
55
Alternatively, you can choose a specific worker image, instead of the "default" options, to prevent worker image upgrades from impacting your deployments.
| Default (eg `Ubuntu (default)`) | Automatically uses the latest image. Deployments will continue to work even when a worker image is marked as deprecated or decommissioned.| The versions of dependencies (e.g. Helm) are not fixed. Deployments that rely on specific versions of dependencies or operating systemspecific features may break during upgrades.|
60
-
| Specific (e.g., `Ubuntu Linux 22.04`)| The version of the operating system and dependencies are fixed and can be relied upon. | When a worker image is marked as deprecated, warnings will start to appear in your deployment logs. When a worker image is decommissioned, you will need to take action to update your worker pool or deployments will fail. |
| Default (eg `Ubuntu (default)`) | Automatically uses the latest image. Deployments will continue to work even when a worker image is marked as deprecated or decommissioned.| The versions of dependencies (e.g. Helm) are not fixed; deployments that rely on specific versions of dependencies or operating system‑specific features may break during upgrades. |
60
+
| Specific (e.g., `Ubuntu Linux 22.04`)| The version of the operating system and dependencies are fixed and can be relied upon. | When a worker image is marked as deprecated, warnings will start to appear in your deployment logs; when it is decommissioned, you will need to update your worker pool or deployments will fail. |
61
61
62
62
### Deprecation
63
63
@@ -69,15 +69,15 @@ If your Worker Pool is set to use the Operating System default, for example, `Ub
69
69
70
70
You should validate that your deployments and runbooks work with the new version prior to the cutover date. The new image will be made available prior to the cutover date and we will notify you of the cutover date to give you time to undertaking any required testing.
71
71
72
-
### Modifying the worker pool
72
+
### Modifying the worker pool
73
73
74
74
If the worker pool has been configured to specifically use a deprecated worker type, you will need to update the worker image on the worker pool.
75
75
76
76
Navigate to your space, then go to **Infrastructure ➜ Worker Pools**. Worker pools with a deprecated worker image will show a `Deprecated` label next to the worker pool.
77
77
78
78
Click the overflow menu (`...`) and click **Edit**. You can then select a new worker image from the dropdown list, such as `Ubuntu (default)` or a specific operating system version.
79
79
80
-
## Available Dynamic Worker Images
80
+
## Available Dynamic Worker Images
81
81
82
82
Worker images are rebuilt on a regular basis, so that the operating system is up to date with the latest security patches.
83
83
@@ -87,72 +87,61 @@ This is the default for the Ubuntu operating system, referenced as `Ubuntu (defa
87
87
88
88
Each `Ubuntu Server 22.04` worker is provisioned with a baseline of tools including (but not limited to):
89
89
90
-
- .NET 6
90
+
- .NET (8.0, 6.0)
91
91
- Docker (latest)
92
92
- PowerShell Core (latest)
93
93
- Python 3 (latest)
94
-
- GCloud CLI (367.0.0)
94
+
- GCloud CLI (550.0.0)
95
95
96
96
:::div{.hint}
97
-
Ubuntu workers are designed to use [execution worker containers](https://octopus.com/blog/execution-containers) for tooling such as`kubectl` and `helm`. This makes it much easier to choose the appropriate runtime environment with the tools you need for your use case.
97
+
Ubuntu workers are designed to use [execution worker containers](https://octopus.com/blog/execution-containers) for tooling like`kubectl` and `helm`. This makes it much easier to choose the appropriate runtime environment with the tools you need for your use case.
98
98
:::
99
99
100
-
101
100
### Windows Server Core 2022
102
101
103
102
This is the default for the Windows operating system, referenced as `Windows (default)`.
104
103
105
104
Each `Windows Server Core 2022` worker is provisioned with a baseline of tools including (but not limited to):
106
105
107
-
- .NET Core (2.1, 3.1)
106
+
- .NET (8.0, 6.0)
108
107
- .NET Framework 3.5
109
108
- .NET Framework 4.8
110
-
- AWS IAM Authenticator (0.5.3)
109
+
- AWS IAM Authenticator (0.7.10)
111
110
- Chocolatey (latest)
112
111
- Docker (latest)
113
-
- Helm (2.9.1)
112
+
- Helm (3.19.4)
114
113
- Kubectl (multiple versions)
115
-
- Microsoft Service Fabric (6.1.480.9494)
116
-
- Microsoft Service Fabric SDK (3.0.480)
114
+
- Microsoft Service Fabric (10.1.2338.9590)
115
+
- Microsoft Service Fabric SDK (7.1.2338)
117
116
- Nuget CLI (latest)
118
117
- Octopus Client (latest)
119
118
- Pip (latest)
120
119
- PowerShell Core (latest)
121
-
- Python (3.7.4)
122
-
- GCloud CLI (339.0.0)
120
+
- Python (3.14)
121
+
- GCloud CLI (550.0.0)
123
122
124
-
Windows 2022 workers are capable of running [execution worker containers](/docs/projects/steps/execution-containers-for-workers).
123
+
Windows 2022 workers are capable of running [execution worker containers](/docs/projects/steps/execution-containers-for-workers).
125
124
126
125
:::div{.hint}
127
126
We recommend execution containers as the preferred option for steps requiring external tools. This allows you to control which version of the tools will be used as your scripts will rely on a specific version that they are compatible with to function correctly.
128
127
:::
129
128
130
-
131
129
## kubectl on Windows Images
132
130
133
131
Windows dynamic worker images come with many versions of `kubectl` available.
134
132
135
-
A specific version can be used by [specifying a custom kubectl location](/docs/deployments/kubernetes/kubectl) of `c:\tools\kubectl\{{version}}\kubectl.exe`, where `{{version}}` is one of the following:
136
-
137
-
-`1.11.1`
138
-
-`1.11.3`
139
-
-`1.12.1`
140
-
-`1.13.12`
141
-
-`1.14.9`
142
-
-`1.15.6`
143
-
-`1.16.10`
144
-
-`1.17.5`
145
-
-`1.18.0`
146
-
-`1.19.9`
147
-
-`1.20.5`
148
-
-`1.21.9`
149
-
-`1.22.6`
133
+
A specific version can be used by [specifying a custom kubectl location](/docs/deployments/kubernetes/kubectl) of `c:\tools\kubectl\{{version}}\kubectl.exe`, where `{{version}}` is one of the following:
134
+
135
+
-`1.32.12`
136
+
-`1.33.8`
137
+
-`1.34.4`
138
+
-`1.35.1`
150
139
151
140
## Installing Software On Dynamic Workers
152
141
153
-
Octopus does not recommend installing additional software on Dynamic Workers.
142
+
Octopus does not recommend installing additional software on Dynamic Workers.
154
143
155
-
By default, every dynamic worker is destroyed after it has been idle for 60 minutes or allocated for over 72 hours. Additionally, Octopus cannot guarantee that the dynamic worker leased to run one step will be the same worker leased to other executing steps in a deployment or runbook run.
144
+
By default, every dynamic worker is destroyed after it has been idle for 60 minutes or allocated for over 72 hours. Additionally, Octopus cannot guarantee that the dynamic worker leased to run one step will be the same worker leased to other executing steps in a deployment or runbook run.
156
145
157
146
For deployments and runbook runs that require additional software dependencies on a dynamic worker, our recommendation is to leverage [execution containers for workers](/docs/projects/steps/execution-containers-for-workers). Octopus provides execution containers with a baseline of tools (`octopusdeploy/worker-tools`) pre-installed. These tools won't include every possible software combination you might need. If you require a specific set of software and tooling we recommend [building your own custom Docker images for use with execution containers](/docs/projects/steps/execution-containers-for-workers/#custom-docker-images).
0 commit comments