list Kubernetes pods to scan for running PCP services




pcp-kube-pods uses kubectl(1) to provide a list of IP addresses for PODs running in a local Kubenetes cluster, that may be running PCP services like pmcd(1) and pmproxy(1).

It is used by the pmfind(1) command and the pmDiscoverServices(3) API as a “shell” command.

The script invokes the kubectl get pod command line (see kubectl-get(1)) to discover IP addresses for pods. The .status.podIP output field is extracted from the Kubernetes pod object(s). Additional options can be specified via configuration file, such as -l service=database to restrict the results using Kubernetes pod labels. The default configuration file is $PCP_SYSCONF_DIR/discover/pcp-kube-pods.conf.

If no local kubectl command is found, nothing is reported and an exit code indicating success is returned.


All diagnostics produced are provided by the kubectl command.

The kubectl exit status is propogated unchanged.



default path to address discovery commands like pcp-kube-pods


configuration file containing command line options passed to kubectl-get


existence of this file causes the script to report nothing

PCP Environment

Environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. On each installation, the file /etc/pcp.conf contains the local values for these variables. The $PCP_CONF variable may be used to specify an alternative configuration file, as described in pcp.conf(5).

See Also

kubectl-get(1), kubectl(1), pmcd(1), pmfind(1), pmDiscoverServices(3) and pcp.env(5).

Referenced By

pmDiscoverServices(3), pmfind(1).

The man page pcp-kube-pods(1) is an alias of PCP_KUBE_PODS(1).

PCP Performance Co-Pilot