Uploaded image for project: 'Percona Monitoring and Management'
  1. Percona Monitoring and Management
  2. PMM-4796

Basic Kubernetes-compatible PMM Client Docker image

    Details

    • Story Points:
      5
    • Sprint:
      Platform Sprint 7, Platform Sprint 8, Platform Sprint 9, Platform Sprint 10
    • Needs Review:
      Yes
    • Needs QA:
      Yes
    • Needs Doc:
      Yes

      Description

      DoD

      • Rootless Docker container with pmm2-client binaries and entrypoint configurable via only environment variables.

      Implementation

      pmm-agent

      • Add environment variables for pmm-agent setup's positional arguments and flags (PMM_AGENT_SETUP_XXX).

      Entrypoint

      • Use Python 2.7 (provided by the base image) with Python 3 compatibility (from __future__ import print_function, unicode_literals).
      • Exit if there are arguments or flags.
      • Use pmm-agent's environment variables for configuration + plus own environment variable PMM_AGENT_SETUP. Make "PMM_AGENT_SETUP" clearly visible near the top.
      • Run pmm-agent setup if PMM_AGENT_SETUP is true (use distutils.util.strtobool).
      • Start pmm-agent). If it crashes, the container will be restarted by Docker/k8s.

      Discussion

      • Adding Services via pmm-admin add mysql, etc. is not in scope.
      • Users can provide their own configuration file via Docker volume. If PMM_AGENT_SETUP is true, we will still do setup and overwrite ID in configuration file. That's expected, at least for now.
      • We expect users to understand how pmm-agent, pmm-agent setup and hostname / Node names work.
      • Not all metrics can be available due to rootless Docker. That's expected.
      • QA for this ticket should be done by the PMM team, not the Cloud team.
      • Dockerfile already provided by PMM-5097.

        Smart Checklist

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  Unassigned
                  Reporter:
                  alexander.blinkov Alexander Blinkov
                • Votes:
                  1 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - Not Specified
                    Not Specified
                    Logged:
                    Time Spent - 1 week, 1 day, 24 minutes
                    1w 1d 24m