Deprecated

Removed in 4.0.0

i

Reason:As discussed in U(https://github.com/ansible-collections/kubernetes.core/issues/31), we decided to remove the k8s inventory plugin in release 4.0.0. | Alternative:Use M(kubernetes.core.k8s_info) and M(ansible.builtin.add_host) instead.

kubernetes.core.k8s (3.0.1) — inventory

Kubernetes (K8s) inventory source

Authors: Chris Houseknecht (@chouseknecht), Fabian von Feilitzsch (@fabianvf)

Install collection

Install with ansible-galaxy collection install kubernetes.core:==3.0.1


Add to requirements.yml

  collections:
    - name: kubernetes.core
      version: 3.0.1

Description

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

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Use default config (~/.kube/config) file and active context, and return objects for a specific namespace
  plugin: kubernetes.core.k8s
  connections:
    - namespaces:
        - testing
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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'

Inputs

    
plugin:
    choices:
    - kubernetes.core.k8s
    - k8s
    - community.kubernetes.k8s
    description: token that ensures this is a source file for the 'k8s' plugin.
    required: true

connections:
    description:
    - Optional list of cluster connection settings. If no connections are provided, the
      default I(~/.kube/config) and active context will be used, and objects will be returned
      for all namespaces the active user is authorized to access.
    suboptions:
      api_key:
        description:
        - Token used to authenticate with the API. Can also be specified via K8S_AUTH_API_KEY
          environment variable.
      ca_cert:
        aliases:
        - ssl_ca_cert
        description:
        - Path to a CA certificate used to authenticate with the API. Can also be specified
          via K8S_AUTH_SSL_CA_CERT environment variable.
      client_cert:
        aliases:
        - cert_file
        description:
        - Path to a certificate used to authenticate with the API. Can also be specified
          via K8S_AUTH_CERT_FILE environment variable.
      client_key:
        aliases:
        - key_file
        description:
        - Path to a key file used to authenticate with the API. Can also be specified
          via K8S_AUTH_KEY_FILE environment variable.
      context:
        description:
        - The name of a context found in the config file. Can also be specified via K8S_AUTH_CONTEXT
          environment variable.
      host:
        description:
        - Provide a URL for accessing the API. Can also be specified via K8S_AUTH_HOST
          environment variable.
      kubeconfig:
        description:
        - 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 I(~/.kube/config). Can also be specified via K8S_AUTH_KUBECONFIG
          environment variable.
      name:
        description:
        - Optional name to assign to the cluster. If not provided, a name is constructed
          from the server and port.
      namespaces:
        description:
        - List of namespaces. If not specified, will fetch all containers for all namespaces
          user is authorized to access.
      password:
        description:
        - Provide a password for authenticating with the API. Can also be specified via
          K8S_AUTH_PASSWORD environment variable.
      username:
        description:
        - Provide a username for authenticating with the API. Can also be specified via
          K8S_AUTH_USERNAME environment variable.
      validate_certs:
        aliases:
        - verify_ssl
        description:
        - Whether or not to verify the API server's SSL certificates. Can also be specified
          via K8S_AUTH_VERIFY_SSL environment variable.
        type: bool