pcp-kube-pods — 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
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).
kubectl-get(1), kubectl(1), pmcd(1), pmfind(1), pmDiscoverServices(3) and pcp.env(5).