pcp-kube-pods — list Kubernetes pods to scan for running PCP services
Synopsis
$PCP_BINADM_DIR/discover/pcp-kube-pods
Description
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.
Diagnostics
All diagnostics produced are provided by the kubectl command.
The kubectl exit status is propogated unchanged.
Files
- $PCP_BINADM_DIR/discover
default path to address discovery commands like pcp-kube-pods.
- $PCP_SYSCONF_DIR/discover/pcp-kube-pods.conf
configuration file containing command line options passed to kubectl-get.
- $PCP_SYSCONF_DIR/discover/pcp-kube-pods.disabled
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).