k8s – Kubernetes (K8s) inventory source

Synopsis

  • Fetch containers and services for one or more clusters
  • Groups by cluster name, namespace, namespace_services, namespace_pods, and labels
  • Uses k8s.(yml|yaml) YAML configuration file to set parameter values.

Requirements

The below requirements are needed on the local master node that executes this inventory.

  • python >= 2.7
  • openshift >= 0.6
  • PyYAML >= 3.11

Parameters

Parameter Choices/Defaults Configuration Comments
connections
-
Optional list of cluster connection settings. If no connections are provided, the default ~/.kube/config and active context will be used, and objects will be returned for all namespaces the active user is authorized to access.
plugin
- / required
    Choices:
  • k8s
token that ensures this is a source file for the 'k8s' plugin.

Examples

# File must be named k8s.yaml or k8s.yml

# Authenticate with token, and return all pods and services for all namespaces
plugin: k8s
connections:
  - host: https://192.168.64.4:8443
    token: xxxxxxxxxxxxxxxx
    validate_certs: false

# Use default config (~/.kube/config) file and active context, and return objects for a specific namespace
plugin: k8s
connections:
  - namespaces:
    - testing

# Use a custom config file, and a specific context.
plugin: k8s
connections:
  - kubeconfig: /path/to/config
    context: 'awx/192-168-64-4:8443/developer'

Status

Authors

  • Chris Houseknecht <@chouseknecht>
  • Fabian von Feilitzsch <@fabianvf>

Hint

If you notice any issues in this documentation, you can edit this document to improve it.

Hint

Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.