Skip to content

Latest commit

 

History

History
372 lines (332 loc) · 14.4 KB

kubernetes.core.k8s_inventory.rst

File metadata and controls

372 lines (332 loc) · 14.4 KB

kubernetes.core.k8s

Kubernetes (K8s) inventory source

DEPRECATED

:Removed in collection release after :Why: As discussed in #31, we decided to remove the k8s inventory plugin in release 4.0.0.

Alternative

Use kubernetes.core.k8s_info <kubernetes.core.k8s_info_module> and ansible.builtin.add_host <ansible.builtin.add_host_module> instead.

Synopsis

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

Requirements

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

  • python >= 3.9
  • kubernetes >= 24.2.0
  • 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.
api_key
-
Token used to authenticate with the API. Can also be specified via K8S_AUTH_API_KEY environment variable.
ca_cert
-
Path to a CA certificate used to authenticate with the API. Can also be specified via K8S_AUTH_SSL_CA_CERT environment variable.

aliases: ssl_ca_cert
client_cert
-
Path to a certificate used to authenticate with the API. Can also be specified via K8S_AUTH_CERT_FILE environment variable.

aliases: cert_file
client_key
-
Path to a key file used to authenticate with the API. Can also be specified via K8S_AUTH_KEY_FILE environment variable.

aliases: key_file
context
-
The name of a context found in the config file. Can also be specified via K8S_AUTH_CONTEXT environment variable.
host
-
Provide a URL for accessing the API. Can also be specified via K8S_AUTH_HOST environment variable.
kubeconfig
-
Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the Kubernetes client will attempt to load the default configuration file from ~/.kube/config. Can also be specified via K8S_AUTH_KUBECONFIG environment variable.
name
-
Optional name to assign to the cluster. If not provided, a name is constructed from the server and port.
namespaces
-
List of namespaces. If not specified, will fetch all containers for all namespaces user is authorized to access.
password
-
Provide a password for authenticating with the API. Can also be specified via K8S_AUTH_PASSWORD environment variable.
username
-
Provide a username for authenticating with the API. Can also be specified via K8S_AUTH_USERNAME environment variable.
validate_certs
boolean
    Choices:
  • no
  • yes
Whether or not to verify the API server's SSL certificates. Can also be specified via K8S_AUTH_VERIFY_SSL environment variable.

aliases: verify_ssl
plugin
- / required
    Choices:
  • kubernetes.core.k8s
  • k8s
  • community.kubernetes.k8s
token that ensures this is a source file for the 'k8s' plugin.

Examples

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

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

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

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

Status

  • This inventory will be removed in version 4.0.0. [deprecated]
  • For more information see DEPRECATED.

Authors

  • Chris Houseknecht (@chouseknecht)
  • Fabian von Feilitzsch (@fabianvf)

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.