webdevops/kube-pool-manager

By webdevops

Updated 18 days ago

Kubernetes pool manager (annotations, labels, configSource, roles)

Image
Integration & Delivery
Monitoring & Observability
Networking

10K+

Kube pool manager

licenseDockerDocker Build Status

Manager for Kubernetes pool, automatic applies configuration (annotations, labels, configSource, role) to kubernetes nodes based on any node spec.

Supports JSON path, value and regexp matching.

Sets following settings on nodes if matched:

Configuration

Usage:
  kube-pool-manager [OPTIONS]

Application Options:
      --debug                    debug mode [$DEBUG]
  -v, --verbose                  verbose mode [$VERBOSE]
      --log.json                 Switch log output to json format [$LOG_JSON]
      --instance.nodename=       Name of node where autopilot is running [$INSTANCE_NODENAME]
      --instance.namespace=      Name of namespace where autopilot is running [$INSTANCE_NAMESPACE]
      --instance.pod=            Name of pod where autopilot is running [$INSTANCE_POD]
      --kube.node.labelselector= Node Label selector which nodes should be checked [$KUBE_NODE_LABELSELECTOR]
      --kube.watch.timeout=      Timeout & full resync for node watch (time.Duration) (default: 24h)
                                 [$KUBE_WATCH_TIMEOUT]
      --lease.enable             Enable lease (leader election; enabled by default in docker images) [$LEASE_ENABLE]
      --lease.name=              Name of lease lock (default: kube-pool-manager-leader) [$LEASE_NAME]
      --dry-run                  Dry run (do not apply to nodes) [$DRY_RUN]
      --config=                  Config path [$CONFIG]
      --bind=                    Server address (default: :8080) [$SERVER_BIND]

Help Options:
  -h, --help                     Show this help message

see example.yaml for configuration file

Metrics

(see :8080/metrics)

MetricDescription
poolmanager_node_pool_statusStatus which pool to which node was applied
poolmanager_node_appliedTimestamp when node confg was set

Kubernetes deployment

see deployment

Docker Pull Command

docker pull webdevops/kube-pool-manager