pcp-kube-pods - list Kubernetes pods to scan for running PCP services
$PCP_BINADM_DIR/discover/pcp-kube-pods
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.
- $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
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).