From 0730f779e320c1b1ea3f0f3b6f7b7ade700d124c Mon Sep 17 00:00:00 2001 From: Alex Demidoff Date: Fri, 10 Jan 2025 12:29:03 +0300 Subject: [PATCH] PMM-12664 Remove the use of the data container --- .github/workflows/main.yml | 8 +-- .../baremetal/docker/backup_container.md | 15 ++--- .../baremetal/docker/index.md | 5 +- .../baremetal/docker/remove_container.md | 27 ++++----- .../baremetal/docker/restore_container.md | 36 +++--------- .../docker/run_with_data_container.md | 56 ------------------- .../baremetal/docker/run_with_host_dir.md | 18 +++--- .../baremetal/docker/run_with_vol.md | 8 +-- .../baremetal/helm/index.md | 2 +- .../baremetal/podman/index.md | 2 +- .../docs/pmm-upgrade/migrating_from_pmm_2.md | 14 ++--- .../docs/pmm-upgrade/upgrade_helm.md | 2 +- documentation/mkdocs-base.yml | 1 - 13 files changed, 57 insertions(+), 137 deletions(-) delete mode 100644 documentation/docs/install-pmm/install-pmm-server/baremetal/docker/run_with_data_container.md diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8c965b6086..4c39cff41b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -139,20 +139,20 @@ jobs: git status - typos_check: + spell-check: + name: Spell check runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - fetch-depth: 0 + - name: Check spelling of md files uses: crate-ci/typos@9d890159570d5018df91fedfa40b4730cd4a81b1 # v1.28.4 with: files: "**/*.md ./documentation/**/*.md" merge-gatekeeper: - needs: [ check, typos_check ] + needs: [ check, spell-check ] name: Merge Gatekeeper if: ${{ always() }} runs-on: ubuntu-22.04 diff --git a/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/backup_container.md b/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/backup_container.md index 1f225880bf..95db4da927 100644 --- a/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/backup_container.md +++ b/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/backup_container.md @@ -5,19 +5,20 @@ !!! summary alert alert-info "" - Stop and rename the `pmm-server` container. - - Take a local copy of the `pmm-data` container's `/srv` directory. + - Take a local copy of the `pmm-server` container's `/srv` directory. --- !!! caution alert alert-warning "Important" - Grafana plugins have been moved to the data volume `/srv` since the 2.23.0 version. So if you are upgrading PMM from any version before 2.23.0 and have installed additional plugins then plugins should be installed again after the upgrade. + Grafana plugins have been moved to the `/srv` directory since the 2.23.0 version. So if you are upgrading PMM from any version before 2.23.0 and have installed additional plugins then plugins should be installed again after the upgrade. To check used Grafana plugins: ```sh - docker exec -it pmm-server ls /var/lib/grafana/plugins + docker exec -t pmm-server ls -l /var/lib/grafana/plugins ``` -To backup container: + +To back up the container: {.power-number} 1. Stop the container: @@ -26,13 +27,13 @@ To backup container: docker stop pmm-server ``` -2. Move the image: +2. Rename the image: ```sh docker rename pmm-server pmm-server-backup ``` -3. Create a subdirectory (e.g., `pmm-data-backup`) and move to it: +3. Create a subdirectory (e.g., `pmm-data-backup`) and change directory to it: ```sh mkdir pmm-data-backup && cd pmm-data-backup @@ -41,5 +42,5 @@ To backup container: 4. Back up the data: ```sh - docker cp pmm-data:/srv . + docker cp pmm-server-backup:/srv . ``` diff --git a/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/index.md b/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/index.md index d73990beb9..dbf5bf0e16 100644 --- a/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/index.md +++ b/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/index.md @@ -14,7 +14,6 @@ You can also install PMM 3 manually, following the instructions below. Before starting the installation, review the installation prerequisites below and choose a method to run PMM Server with Docker based on your preferred data storage option: -- [Running Docker with Data container](../docker/run_with_data_container.md) - [Running Docker with host directory](../docker/run_with_host_dir.md) - [Running Docker with volume](../docker/run_with_vol.md) @@ -35,14 +34,14 @@ Before starting the installation, review the installation prerequisites below an !!! summary alert alert-info "" - Pull the Docker image. - - Copy it to create a persistent data container. + - Choose how you want to store data. - Run the image. - Open the PMM UI in a browser. --- ??? info "Key points" - - To disable the Home Dashboard **PMM Upgrade** panel you can either add `-e DISABLE_UPDATES=true` to the `docker run` command (for the life of the container) or navigate to _PMM --> PMM Settings --> Advanced Settings_ and disable "Check for Updates" (can be turned back on by any admin in the UI). + - To disable the Home Dashboard **PMM Upgrade** panel you can either add `-e PMM_ENABLE_UPDATES=false` to the `docker run` command (for the life of the container) or navigate to _PMM --> PMM Settings --> Advanced Settings_ and disable "Check for Updates" (can be turned back on by any admin in the UI). - Eliminate browser certificate warnings by configuring a [trusted certificate](https://docs.percona.com/percona-monitoring-and-management/how-to/secure.html#ssl-encryption). diff --git a/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/remove_container.md b/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/remove_container.md index b16b1bd0ee..8812609869 100644 --- a/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/remove_container.md +++ b/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/remove_container.md @@ -1,34 +1,31 @@ # Remove container -??? info "Summary" - - !!! summary alert alert-info "" - - Stop the container. - - Remove (delete) both the server and data containers. - - Remove (delete) both images. - - --- - !!! caution alert alert-warning "Caution" These steps delete the PMM Server Docker image and any accumulated PMM metrics data. To remove the container: {.power-number} -1. Stop pmm-server container. +1. Stop pmm-server container: ```sh docker stop pmm-server ``` -2. Remove containers. +2. Remove the container: + + ```sh + docker rm pmm-server + ``` + +3. Remove the data volume: ```sh - docker rm pmm-server pmm-data + docker volume rm pmm-data ``` -3. Remove the image. +4. Remove the image: ```sh - docker rmi $(docker images | grep "percona/pmm-server" | awk {'print $3'}) - ``` \ No newline at end of file + docker rmi $(docker images | grep "percona/pmm-server" | awk '{print $3}') + ``` diff --git a/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/restore_container.md b/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/restore_container.md index 49ecb77bbb..b416770893 100644 --- a/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/restore_container.md +++ b/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/restore_container.md @@ -1,15 +1,5 @@ # Restore container -??? info "Summary" - - !!! summary alert alert-info "" - - Stop and remove the container. - - Restore (rename) the backup container. - - Restore saved data to the data container. - - Restore permissions to the data. - - --- - !!! caution alert alert-warning "Important" You must have a [backup](backup_container.md) to restore from. @@ -22,7 +12,7 @@ To restore the container: docker stop pmm-server ``` -2. Remove it. +2. Remove the container. ```sh docker rm pmm-server @@ -36,36 +26,24 @@ To restore the container: 4. Change directory to the backup directory (e.g. `pmm-data-backup`). -5. Remove Victoria Metrics data folder. - ```sh - docker run --rm --volumes-from pmm-data -it percona/pmm-server:3 rm -r /srv/victoriametrics/data + cd pmm-data-backup ``` -6. Copy the data. +5. Copy the data. ```sh - docker cp srv pmm-data:/ + docker run --rm -v $(pwd)/srv:/backup -v pmm-data:/srv -t perconalab/pmm-server:3.0.0 cp -r /backup/* /srv ``` -7. Restore permissions. +6. Restore permissions. ```sh - docker run --rm --volumes-from pmm-data -it percona/pmm-server:3 chown -R root:root /srv && \ - docker run --rm --volumes-from pmm-data -it percona/pmm-server:3 chown -R pmm:pmm /srv/alertmanager && \ - docker run --rm --volumes-from pmm-data -it percona/pmm-server:3 chown -R root:pmm /srv/clickhouse && \ - docker run --rm --volumes-from pmm-data -it percona/pmm-server:3 chown -R grafana:grafana /srv/grafana && \ - docker run --rm --volumes-from pmm-data -it percona/pmm-server:3 chown -R pmm:pmm /srv/logs && \ - docker run --rm --volumes-from pmm-data -it percona/pmm-server:3 chown -R postgres:postgres /srv/postgres14 && \ - docker run --rm --volumes-from pmm-data -it percona/pmm-server:3 chown -R pmm:pmm /srv/prometheus && \ - docker run --rm --volumes-from pmm-data -it percona/pmm-server:3 chown -R pmm:pmm /srv/victoriametrics && \ - docker run --rm --volumes-from pmm-data -it percona/pmm-server:3 chown -R postgres:postgres /srv/logs/postgresql14.log + docker run --rm -v pmm-data:/srv -t perconalab/pmm-server:3.0.0 chown -R pmm:pmm /srv ``` -8. Start the image. +7. Start the image. ```sh docker start pmm-server ``` - - diff --git a/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/run_with_data_container.md b/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/run_with_data_container.md deleted file mode 100644 index e7e61d2aa3..0000000000 --- a/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/run_with_data_container.md +++ /dev/null @@ -1,56 +0,0 @@ - -# Run Docker with data container - -To run Docker with data container: -{.power-number} - -1. Create a persistent data container: - - ```sh - docker create --volume /srv \ - --name pmm-data \ - percona/pmm-server:3 /bin/true - ``` - - !!! caution alert alert-warning "Important" - PMM Server expects the data volume to be `/srv`. Using any other value will result in **data loss** when upgrading. - - To check server and data container mount points: - - ```sh - docker inspect pmm-data | grep Destination && \ - docker inspect pmm-server | grep Destination - ``` - -2. Create the Docker network: - - ```sh - docker network create pmm_default - ``` - -3. Run the image: - - ```sh - docker run --detach --restart always \ - --publish 443:8443 \ - --env PMM_WATCHTOWER_HOST=your_watchtower_host \ - --env PMM_WATCHTOWER_TOKEN=your_watchtower_token \ - --volumes-from pmm-data \ - --network=pmm_default \ - --name pmm-server \ - percona/pmm-server:3 - ``` - -4. Change the password for the default `admin` user, replacing `your_secure_password123` with a strong, unique password: - - ```sh - docker exec -t pmm-server change-admin-password your_secure_password123 - ``` - -5. Check the [WatchTower prerequisites](../docker/index.md|#prerequisites) and pass the following command to Docker Socket to start [Watchtower](https://containrrr.dev/watchtower/): - - ```sh - docker run -v /var/run/docker.sock:/var/run/docker.sock -e WATCHTOWER_HTTP_API_UPDATE=1 -e WATCHTOWER_HTTP_API_TOKEN=your_watchtower_token --hostname=your_watchtower_host --network=pmm_default docker.io/perconalab/watchtower - ``` - -6. Visit `https://localhost:443` to see the PMM user interface in a web browser. If you are accessing the docker host remotely, replace `localhost` with the IP or server name of the host. diff --git a/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/run_with_host_dir.md b/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/run_with_host_dir.md index da822d46e6..1e83e217a4 100644 --- a/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/run_with_host_dir.md +++ b/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/run_with_host_dir.md @@ -10,37 +10,39 @@ To run Docker with the host directory: docker pull percona/pmm-server:3 ``` -2. Run the image: +2. Identify a directory on the host that you want to use to persist PMM data. For example, `/home/user/srv`. + +3. Run the image: ```sh docker run --detach --restart always \ --publish 443:8443 \ --env PMM_WATCHTOWER_HOST=your_watchtower_host \ --env PMM_WATCHTOWER_TOKEN=your_watchtower_token \ - --volumes-from pmm-data \ + --volume /home/user/srv:/srv \ --network=pmm_default \ --name pmm-server \ percona/pmm-server:3 ``` -3. Change the password for the default `admin` user: +4. Change the password for the default `admin` user: ```sh docker exec -t pmm-server change-admin-password ``` -4. Check the [WatchTower prerequisites](../docker/index.md|#prerequisites) and pass the following command to Docker Socket to start [Watchtower](https://containrrr.dev/watchtower/): +5. Check the [WatchTower prerequisites](../docker/index.md|#prerequisites) and pass the following command to Docker Socket to start [Watchtower](https://containrrr.dev/watchtower/): ```sh docker run -v /var/run/docker.sock:/var/run/docker.sock -e WATCHTOWER_HTTP_API_UPDATE=1 -e WATCHTOWER_HTTP_API_TOKEN=your_watchtower_token --hostname=your_watchtower_host --network=pmm_default docker.io/perconalab/watchtower ``` -5. Visit `https://localhost:443` to see the PMM user interface in a web browser. (If you are accessing the docker host remotely, replace `localhost` with the IP or server name of the host.) +6. Visit `https://localhost:443` to see the PMM user interface in a web browser. (If you are accessing the docker host remotely, replace `localhost` with the IP or server name of the host.) -## Migrate from data container to host directory/volume +## Migrate from data container to host directory -To migrate your PMM from data container to host directory or volume run the following command: +To migrate your PMM from data container to host directory, run the following command: ```sh -docker cp :/srv /target/host/directory +docker cp :/srv /target/host/directory ``` diff --git a/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/run_with_vol.md b/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/run_with_vol.md index 1495eaba3a..d4502fca8f 100644 --- a/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/run_with_vol.md +++ b/documentation/docs/install-pmm/install-pmm-server/baremetal/docker/run_with_vol.md @@ -23,16 +23,16 @@ To run Docker with volume: --publish 443:8443 \ --env PMM_WATCHTOWER_HOST=your_watchtower_host \ --env PMM_WATCHTOWER_TOKEN=your_watchtower_token \ - --volumes-from pmm-data \ + --volume pmm-data:/srv \ --network=pmm_default \ --name pmm-server \ percona/pmm-server:3 ``` -4. Change the password for the default `admin` user, replacing `your_secure_password123` with a strong, unique password: +4. Change the password for the default `admin` user, replacing `your_secure_password` with a strong, unique password: ```sh - docker exec -t pmm-server change-admin-password your_secure_password123 + docker exec -t pmm-server change-admin-password your_secure_password ``` 5. Check the [WatchTower prerequisites](../docker/index.md|#prerequisites) and pass the following command to Docker Socket to start [Watchtower](https://containrrr.dev/watchtower/): @@ -41,4 +41,4 @@ To run Docker with volume: docker run -v /var/run/docker.sock:/var/run/docker.sock -e WATCHTOWER_HTTP_API_UPDATE=1 -e WATCHTOWER_HTTP_API_TOKEN=your_watchtower_token --hostname=your_watchtower_host --network=pmm_default docker.io/perconalab/watchtower ``` -6. Visit `https://localhost:443` to see the PMM user interface in a web browser. If you are accessing the Docker host remotely, replace `localhost` with the IP or server name of the host. \ No newline at end of file +6. Visit `https://localhost:443` to see the PMM user interface in a web browser. If you are accessing the Docker host remotely, replace `localhost` with the IP or server name of the host. diff --git a/documentation/docs/install-pmm/install-pmm-server/baremetal/helm/index.md b/documentation/docs/install-pmm/install-pmm-server/baremetal/helm/index.md index 0c936e711a..6ac0d59fb1 100644 --- a/documentation/docs/install-pmm/install-pmm-server/baremetal/helm/index.md +++ b/documentation/docs/install-pmm/install-pmm-server/baremetal/helm/index.md @@ -140,7 +140,7 @@ In case you want to add extra environment variables (useful for advanced operati ```yaml pmmEnv: - DISABLE_UPDATES: "1" + PMM_ENABLE_UPDATES: "1" ``` ### PMM SSL certificates diff --git a/documentation/docs/install-pmm/install-pmm-server/baremetal/podman/index.md b/documentation/docs/install-pmm/install-pmm-server/baremetal/podman/index.md index 6e3f45608e..162be23690 100644 --- a/documentation/docs/install-pmm/install-pmm-server/baremetal/podman/index.md +++ b/documentation/docs/install-pmm/install-pmm-server/baremetal/podman/index.md @@ -232,7 +232,7 @@ To run Podman as a non-privileged user: # keep updates disabled # do image replacement instead (update the tag and restart the service) - DISABLE_UPDATES=1 + PMM_ENABLE_UPDATES=1 EOF ``` diff --git a/documentation/docs/pmm-upgrade/migrating_from_pmm_2.md b/documentation/docs/pmm-upgrade/migrating_from_pmm_2.md index 3c6966ef05..24668ac8b3 100644 --- a/documentation/docs/pmm-upgrade/migrating_from_pmm_2.md +++ b/documentation/docs/pmm-upgrade/migrating_from_pmm_2.md @@ -1,6 +1,6 @@ # Migrate PMM 2 to PMM 3 -PMM 3 introduces significant architectural changes that require gradual transition from PMM 2: +PMM 3 introduces significant architectural changes that require gradual transition from PMM 2. ## Step 1: Upgrade PMM 2 Server to the latest version @@ -50,7 +50,7 @@ Before upgrading to PMM 3, ensure your PMM 2 Server is running the latest versio docker pull percona/pmm-server:3 ``` - 6. Run new container with existing volume: + 6. Run the new version of PMM Server with the existing volume: ```sh docker run -d -v pmm-server-data:/srv -p 443:8443 --name pmm-server --restart always percona/pmm-server:3 @@ -73,7 +73,7 @@ Before upgrading to PMM 3, ensure your PMM 2 Server is running the latest versio docker exec -t chown -R pmm:pmm /srv ``` - 3. Identify data container using either: + 3. Identify the data container using either: ```sh docker ps -a --filter "status=created" @@ -87,7 +87,7 @@ Before upgrading to PMM 3, ensure your PMM 2 Server is running the latest versio {% endraw %} ``` - 4. Stop and remove existing container: + 4. Stop and remove the existing container: ```sh docker stop pmm-server && docker rm pmm-server @@ -99,7 +99,7 @@ Before upgrading to PMM 3, ensure your PMM 2 Server is running the latest versio docker pull percona/pmm-server:3 ``` - 6. Run new container with existing data container: + 6. Run the new version of PMM Server with the existing data container: ```sh docker run -d --volumes-from pmm-server-data -p 443:8443 --name pmm-server --restart always percona/pmm-server:3 @@ -110,7 +110,7 @@ Before upgrading to PMM 3, ensure your PMM 2 Server is running the latest versio !!! caution alert alert-warning "Important" PMM 3 Server provides limited support for PMM 2 Clients (metrics and Query Analytics only). This support will be removed in PMM 3.3. -Depending on your initial installation method, update PMM Clients using your operating system's package manager or by updating from a tarball. +Depending on your initial installation method, update PMM Clients using your operating system's package manager or update from the tarball. For detailed instructions, see the [Upgrade PMM Client topic](../pmm-upgrade/upgrade_client.md). ### Post-migration steps @@ -120,4 +120,4 @@ After you finish migrating: 1. Verify that all PMM Clients are up to date by checking **PMM Configuration > Updates**. 2. Confirm all previously monitored services are reporting correctly to the new PMM 3 Server by reviewing **Configuration > PMM Inventory > Services**. -3. Check the dashboards to make sure you're receiving the metrics information and QAN data. +3. Check the dashboards to make sure you're receiving the metrics and QAN data. diff --git a/documentation/docs/pmm-upgrade/upgrade_helm.md b/documentation/docs/pmm-upgrade/upgrade_helm.md index 77bd59a72f..419fac8bff 100644 --- a/documentation/docs/pmm-upgrade/upgrade_helm.md +++ b/documentation/docs/pmm-upgrade/upgrade_helm.md @@ -10,7 +10,7 @@ Percona releases new chart versions to update containers when: The UI update feature is disabled by default and should remain so. Do not modify or add the following parameter in your custom `values.yaml` file: ```yaml pmmEnv: - DISABLE_UPDATES: "1" + PMM_ENABLE_UPDATES: "1" ``` ## Before you begin diff --git a/documentation/mkdocs-base.yml b/documentation/mkdocs-base.yml index 4e6275a191..70738860e6 100644 --- a/documentation/mkdocs-base.yml +++ b/documentation/mkdocs-base.yml @@ -152,7 +152,6 @@ nav: - install-pmm/install-pmm-server/baremetal/docker/easy-install.md - install-pmm/install-pmm-server/baremetal/docker/index.md - install-pmm/install-pmm-server/baremetal/docker/run_with_vol.md - - install-pmm/install-pmm-server/baremetal/docker/run_with_data_container.md - install-pmm/install-pmm-server/baremetal/docker/run_with_host_dir.md - install-pmm/install-pmm-server/baremetal/docker/backup_container.md - install-pmm/install-pmm-server/baremetal/docker/restore_container.md