diff --git a/deploy-manage/deploy/cloud-enterprise/configure-host-rhel.md b/deploy-manage/deploy/cloud-enterprise/configure-host-rhel.md index ea7eece91b..889d74a5f3 100644 --- a/deploy-manage/deploy/cloud-enterprise/configure-host-rhel.md +++ b/deploy-manage/deploy/cloud-enterprise/configure-host-rhel.md @@ -12,7 +12,7 @@ products: # Configure a RHEL host [ece-configure-hosts-rhel-centos] -The following instructions show you how to prepare your hosts on Red Hat Enterprise Linux 8 (RHEL 8), 9 (RHEL 9), and Rocky Linux 8 and 9. +Red Hat Enterprise Linux 8 and 9, along with Rocky Linux 8 and 9, run {{ece}} on Podman rather than Docker. Use these steps to install Podman with `dnf`; configure the Podman socket so the standard `docker` CLI works against it; and apply the SELinux, XFS, and kernel tuning that ECE expects on Red Hat-family hosts. * [Prerequisites](#ece-prerequisites-rhel8) * [Install Podman and configure the host](#ece-configure-hosts-rhel8-podman) diff --git a/deploy-manage/deploy/cloud-enterprise/configure-host-suse.md b/deploy-manage/deploy/cloud-enterprise/configure-host-suse.md index a918cc18d5..c0abcddfa4 100644 --- a/deploy-manage/deploy/cloud-enterprise/configure-host-suse.md +++ b/deploy-manage/deploy/cloud-enterprise/configure-host-suse.md @@ -12,82 +12,79 @@ products: # Configure a SUSE host [ece-configure-hosts-sles12] -The following instructions explain how to prepare your hosts on SUSE Linux Enterprise Server 12 SP5 (SLES 12) or 15 (SLES 15). +SUSE Linux Enterprise Server (SLES) hosts use `zypper` to install Docker and require XFS quotas to be set up manually, since SLES doesn't ship XFS as the default filesystem. The steps on this page target SLES 15. + +Before installing, make sure to cross-check your SLES version and Docker version against the [Support matrix](https://www.elastic.co/support/matrix#elastic-cloud-enterprise). The commands shown on this page are examples; substitute the versions you've identified in the support matrix. + +::::{warning} +SLES 12 SP5 reached general support end of life on **October 31, 2024**. Use SLES 15 or later for new {{ece}} installations, and migrate existing SLES 12 SP5 hosts. +:::: + * [Install Docker](#ece-install-docker-sles12) * [Set up XFS quotas](#ece-xfs-setup-sles12) * [Update the configurations settings](#ece-update-config-sles) * [Configure the Docker daemon options](#ece-configure-docker-daemon-sles12) -If you want to install {{ece}} (ECE) on your own hosts, the steps for preparing your hosts can take a bit of time. There are two ways you can approach this: - -* **Think like a minimalist**: [Install the correct version of Docker](#ece-install-docker-sles12) on hosts that meet the [prerequisites](prepare-environment.md) for ECE, then skip ahead and [install ECE](install.md#install-ece). Be aware that some checks during the installation can fail with this approach, which will mean doing further host preparation work before retrying the installation. -* **Cover your bases**: If you want to make absolutely sure that your installation of {{ece}} can succeed on hosts that meet the [prerequisites](prepare-environment.md), or if any of the checks during the installation failed previously, run through the full preparation steps in this section and then and [install ECE](install.md#install-ece). You’ll do a bit more work now, but life will be simpler later on. - -Regardless of which approach you take, the steps in this section need to be performed on every host that you want to use with ECE. - ## Install Docker on SLES [ece-install-docker-sles12] ::::{include} /deploy-manage/deploy/_snippets/ece-supported-combinations.md :::: -1. Remove Docker and previously installed podman packages (if previously installed). + +1. Remove Docker and any previously installed podman packages. ```sh sudo zypper remove -y docker docker-ce podman podman-remote ``` -2. Update packages to the latest available versions +2. Update packages to the latest available versions. ```sh sudo zypper refresh sudo zypper update -y ``` -3. Install Docker and other required packages: +3. Install Docker and other required packages on SLES 15. The following command is an example of installing Docker {{ece-docker-version}}. To install a different Docker version, replace {{ece-docker-version}} with your preferred version from the [Support matrix](https://www.elastic.co/support/matrix#elastic-cloud-enterprise). - * For SLES 12: + ```sh subs=true + sudo zypper install -y curl device-mapper lvm2 net-tools docker={{ece-docker-version}}.* + ``` + + ::::{tip} + If `zypper` reports that the requested Docker version isn't available, make sure the SUSE **Containers Module** is enabled, or refer to [SUSE's documentation](https://documentation.suse.com/sles/15-SP6/html/SLES-all/cha-docker-installation.html) for adding the upstream Docker repository. + :::: + + ::::{note} + Installation on SLES 12 SP5 is no longer covered here because SLES 12 SP5 is past general support end of life. If you're maintaining an existing SLES 12 SP5 deployment, install the last Docker version that SUSE shipped for SLES 12 SP5 and plan a migration to SLES 15. + :::: + +4. Set up the OS groups and add your user. + + 1. Create the `elastic` and `docker` groups if they don't already exist: ```sh - sudo zypper install -y docker=24.0.7_ce-98.109.3 + sudo groupadd elastic + sudo groupadd docker ``` - * For SLES 15: + 2. Add the user to both groups: ```sh - sudo zypper install -y curl device-mapper lvm2 net-tools docker=24.0.7_ce-150000.198.2 net-tools + sudo usermod -aG elastic,docker $USER ``` -4. Disable nscd, as it interferes with Elastic’s services: +5. Disable `nscd`, which can interfere with Elastic services: ```sh sudo systemctl stop nscd sudo systemctl disable nscd ``` - - -## Set up OS groups and user [ece_set_up_os_groups_and_user] - -1. If they don’t already exist, create the following OS groups: - - ```sh - sudo groupadd elastic - sudo groupadd docker - ``` - -2. Add the user to these groups: - - ```sh - sudo usermod -aG elastic,docker $USER - ``` - - - ## Set up XFS quotas [ece-xfs-setup-sles12] -XFS is required to support disk space quotas for {{es}} data directories. Some Linux distributions such as RHEL and Rocky Linux already provide XFS as the default file system. On SLES 12 and 15, you need to set up an XFS file system and have quotas enabled. +XFS is required to support disk space quotas for {{es}} data directories. Some Linux distributions such as RHEL and Rocky Linux already provide XFS as the default file system. On SLES 15, you need to set up an XFS file system and have quotas enabled. Disk space quotas set a limit on the amount of disk space an {{es}} cluster node can use. Currently, quotas are calculated by a static ratio of 1:32, which means that for every 1 GB of RAM a cluster is given, a cluster node is allowed to consume 32 GB of disk space. @@ -95,12 +92,10 @@ Disk space quotas set a limit on the amount of disk space an {{es}} cluster node Using LVM, `mdadm`, or a combination of the two for block device management is possible, but the configuration is not covered here, nor is it provided as part of supporting ECE. :::: - ::::{important} -You must use XFS and have quotas enabled on all allocators, otherwise disk usage won’t display correctly. +You must use XFS and have quotas enabled on all allocators; otherwise, disk usage won't display correctly. :::: - **Example:** Set up XFS on a single, pre-partitioned block device named `/dev/xvdg1`. Replace `/dev/xvdg1` in the following example with the corresponding device on your host. 1. Format the partition: @@ -127,8 +122,6 @@ You must use XFS and have quotas enabled on all allocators, otherwise disk usage sudo mount -a ``` - - ## Update the configurations settings [ece-update-config-sles] 1. Stop the Docker service: @@ -151,7 +144,7 @@ You must use XFS and have quotas enabled on all allocators, otherwise disk usage sudo update-bootloader ``` -3. Configure kernel parameters +3. Configure kernel parameters. ```sh cat < @@ -266,7 +255,7 @@ You must use XFS and have quotas enabled on all allocators, otherwise disk usage } ``` -2. The user installing ECE must have a User ID (UID) and Group ID (GID) of 1000 or higher. Make sure that the GID matches the ID of the `elastic`` group created earlier (likely to be 1000). You can set this using the following command: +2. The user installing ECE must have a User ID (UID) and Group ID (GID) of 1000 or higher. Make sure that the GID matches the ID of the `elastic` group created earlier (likely to be 1000). You can set this using the following command: ```sh sudo usermod -g $USER @@ -311,7 +300,7 @@ You must use XFS and have quotas enabled on all allocators, otherwise disk usage According to [{{es}} networking settings](elasticsearch://reference/elasticsearch/configuration-reference/networking-settings.md), {{es}} overrides TCP keepalive settings at the socket level for its own connections: * If system-level values exceed 300 seconds, {{es}} automatically lowers them to 300 seconds. * Values below 300 seconds are used as-is. - + For non-{{es}} connections such as the proxy layer, consider reducing the following TCP keepalive parameters to detect stale network sessions and prevent firewalls from dropping silent connections: * `net.ipv4.tcp_keepalive_time` * `net.ipv4.tcp_keepalive_intvl` @@ -319,7 +308,7 @@ You must use XFS and have quotas enabled on all allocators, otherwise disk usage ::: - 1. Ensure settings in /etc/sysctl.d/*.conf are applied on boot + 1. Ensure settings in /etc/sysctl.d/*.conf are applied on boot: ```sh SCRIPT_LOCATION="/var/lib/cloud/scripts/per-boot/00-load-sysctl-settings" diff --git a/deploy-manage/deploy/cloud-enterprise/configure-host-ubuntu.md b/deploy-manage/deploy/cloud-enterprise/configure-host-ubuntu.md index a1f4812985..0959a6107d 100644 --- a/deploy-manage/deploy/cloud-enterprise/configure-host-ubuntu.md +++ b/deploy-manage/deploy/cloud-enterprise/configure-host-ubuntu.md @@ -12,7 +12,7 @@ products: # Configure an Ubuntu host [ece-configure-hosts-ubuntu] -The following instructions show you how to prepare your hosts on Ubuntu. +Use the steps on this page to prepare an Ubuntu server for {{ece}} (ECE): install Docker from the upstream Docker `apt` repository, set up an XFS volume for cluster data, tune kernel and systemd parameters for production workloads, and pin the Docker version so unattended upgrades don't break ECE. * [Install Docker](#ece-install-docker-ubuntu) * [Set up XFS quotas](#ece-xfs-setup-ubuntu) @@ -22,7 +22,7 @@ The following instructions show you how to prepare your hosts on Ubuntu. ## Install Docker on Ubuntu [ece-install-docker-ubuntu] -Install a compatible Docker version on Ubuntu. +Install a compatible Docker version on Ubuntu using `apt`. ::::{include} /deploy-manage/deploy/_snippets/ece-supported-combinations.md :::: @@ -49,10 +49,10 @@ Install a compatible Docker version on Ubuntu. $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` -4. Install the correct version of the `docker-ce` package. The following is an example of installing Docker 27.0. If you decide to install a different Docker version, make sure to replace with the desired version in the commands below. +4. Install the correct version of the `docker-ce` package. The following command is an example of installing Docker {{ece-docker-version}}. To install a different Docker version, replace {{ece-docker-version}} with your preferred version from the [Support matrix](https://www.elastic.co/support/matrix#elastic-cloud-enterprise). - ```sh - sudo apt update && sudo apt install -y docker-ce=5:27.0.* docker-ce-cli=5:27.0.* containerd.io + ```sh subs=true + sudo apt update && sudo apt install -y docker-ce=5:{{ece-docker-version}}.* docker-ce-cli=5:{{ece-docker-version}}.* containerd.io ``` diff --git a/docset.yml b/docset.yml index ab4ec79a16..d13d616f99 100644 --- a/docset.yml +++ b/docset.yml @@ -93,6 +93,7 @@ subs: ecloud: "Elastic Cloud" ech: "Elastic Cloud Hosted" ece: "Elastic Cloud Enterprise" + ece-docker-version: "27.0" eck: "Elastic Cloud on Kubernetes" edot: "Elastic Distribution of OpenTelemetry" motlp: "Elastic Cloud Managed OTLP Endpoint"