From 461a65ef964f81d266290c64da32082a215ca30b Mon Sep 17 00:00:00 2001 From: Samuel Jaeschke Date: Tue, 3 Oct 2023 15:52:21 +1030 Subject: [PATCH 1/4] DW pools: Switch examples from `Windows` to `Ubuntu` --- .../infrastructure/workers/dynamic-worker-pools.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md b/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md index 9049550e94..b68b015f06 100644 --- a/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md +++ b/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md @@ -28,18 +28,18 @@ Each worker is provisioned exclusively to a specific customer, and is completely ## Dynamic Worker Images -Each dynamic worker pool can specify the worker image used. Windows Server Core 2019 is the default. Ubuntu Server 22.04 worker images are also available. +Each dynamic worker pool can specify the worker image used. Windows Server Core 2019 is the default. Ubuntu Linux 22.04 worker images are also available. Editing a dynamic worker pool allows you to modify the image used. -The available worker images list specific operating system versions (e.g., `Windows Server Core 2019`) but also generic "default" options such as `Windows (default)`. Choosing the default option means that your worker will get the latest stable worker image released. This is a good option to choose if you're running a basic script that doesn't have any dependencies on specific tool or operating system versions. +The available worker images list specific operating system versions (e.g., `Ubuntu Linux 22.04`) but also generic "default" options such as `Ubuntu (default)`. Choosing the default option means that your worker will get the latest stable worker image released. This is a good option to choose if you're running a basic script that doesn't have any dependencies on specific tool or operating system versions. If you're writing a script that relies on a specific version of tooling (e.g., helm), then we recommend choosing a specific worker image, instead of the "default" options, to prevent worker image upgrades from impacting your deployments. |Type | Pros | Cons | |-----|------|------| -| Default (eg `Windows (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. | -| Specific (e.g., `Windows Server Core 2019`) | 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. | +| 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. | ## Deprecation @@ -47,7 +47,7 @@ When an image is marked as deprecated, you will see warnings in the Octopus UI, When you start getting warnings in your deployments and/or see deprecation warnings in the Octopus portal, please plan to modify your worker pool to use a different image and test your scripts on the new image. -If your Worker Pool is set to use the Operating System default, for example, `Windows (default)`, the default will be swapped over to a new Operating System version by Octopus Deploy. Your deployments and runbooks will automatically use the new version. +If your Worker Pool is set to use the Operating System default, for example, `Ubuntu (default)`, the default will be swapped over to a new Operating System version by Octopus Deploy. Your deployments and runbooks will automatically use the new version. 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. From 5375dfdfaa568fbcf3a702c2f43a88c2dc721b8e Mon Sep 17 00:00:00 2001 From: Samuel Jaeschke Date: Tue, 3 Oct 2023 15:53:18 +1030 Subject: [PATCH 2/4] DW pools: Reorder sections to put Ubuntu first --- .../workers/dynamic-worker-pools.md | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md b/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md index b68b015f06..0e6c8e1462 100644 --- a/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md +++ b/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md @@ -64,6 +64,28 @@ The Worker Type can be modified by editing the Worker Pool and changing the Work Worker images are rebuilt on a regular basis, so that the operating system is up to date with the latest security patches. +### Ubuntu 22.04 + +This is the default for the Ubuntu operating system, referenced as `Ubuntu (default)`. + +Each `Ubuntu Server 22.04` worker is provisioned with a baseline of tools including (but not limited to): + +- .NET 6 +- Docker (latest) +- Powershell Core (latest) +- Python 3 (latest) +- GCloud CLI (367.0.0) + +:::div{.hint} +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. +::: + +### Ubuntu 18.04 + +:::div{.warning} +Ubuntu 18.04 images are no longer available as of 3 April 2023. Please refer to [Ubuntu 18.04 End-of-life](/docs/infrastructure/workers/dynamic-worker-pools/ubuntu-1804-end-of-life) for further details. +::: + ### Windows Server Core 2019 This is the default for the Windows operating system, referenced as `Windows (default)`. @@ -93,28 +115,6 @@ Windows 2019 workers are capable of running [execution worker containers](/docs/ 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. ::: -### Ubuntu 18.04 - -:::div{.warning} -Ubuntu 18.04 images are no longer available as of 3 April 2023. Please refer to [Ubuntu 18.04 End-of-life](/docs/infrastructure/workers/dynamic-worker-pools/ubuntu-1804-end-of-life) for further details. -::: - -### Ubuntu 22.04 - -This is the default for the Ubuntu operating system, referenced as `Ubuntu (default)`. - -Each `Ubuntu Server 22.04` worker is provisioned with a baseline of tools including (but not limited to): - -- .NET 6 -- Docker (latest) -- Powershell Core (latest) -- Python 3 (latest) -- GCloud CLI (367.0.0) - -:::div{.hint} -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. -::: - ## kubectl on Windows Images Windows 2019 dynamic worker images come with many versions of `kubectl` available. @@ -144,7 +144,7 @@ By default, every dynamic worker is destroyed after it has been allocated for ov 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). :::div{.hint} -**Octopus worker-tools cached on Dynamic Workers** +**Octopus worker-tools are cached on Dynamic Workers** The `octopusdeploy/worker-tools` images provided for the execution containers feature cache the five latest Ubuntu and two latest Windows [Worker Tool](/docs/infrastructure/workers/worker-tools-versioning-and-caching) images on a Dynamic Worker when it's created. This makes them an excellent choice over installing additional software on a Dynamic Worker. ::: From 19564859ce012b81507db47eb830bc13b0790cb0 Mon Sep 17 00:00:00 2001 From: Samuel Jaeschke Date: Wed, 4 Oct 2023 11:21:36 +1030 Subject: [PATCH 3/4] DW pools: Switch default image from Windows to Linux --- src/pages/docs/infrastructure/workers/dynamic-worker-pools.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md b/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md index 0e6c8e1462..ccdb8dadfa 100644 --- a/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md +++ b/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md @@ -28,7 +28,7 @@ Each worker is provisioned exclusively to a specific customer, and is completely ## Dynamic Worker Images -Each dynamic worker pool can specify the worker image used. Windows Server Core 2019 is the default. Ubuntu Linux 22.04 worker images are also available. +Each dynamic worker pool can specify the worker image used. Ubuntu Linux 22.04 is the default. Windows Server Core 2019 worker images are also available. Editing a dynamic worker pool allows you to modify the image used. From 2b9a73785a0998e75b14831aef82f29c26d67f1d Mon Sep 17 00:00:00 2001 From: Samuel Jaeschke Date: Thu, 5 Oct 2023 13:32:01 +1030 Subject: [PATCH 4/4] Update modified date --- src/pages/docs/infrastructure/workers/dynamic-worker-pools.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md b/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md index ccdb8dadfa..e01399394b 100644 --- a/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md +++ b/src/pages/docs/infrastructure/workers/dynamic-worker-pools.md @@ -1,7 +1,7 @@ --- layout: src/layouts/Default.astro pubDate: 2023-01-01 -modDate: 2023-01-01 +modDate: 2023-10-05 title: Dynamic Worker pools 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. navOrder: 50