airflow.providers.cncf.kubernetes.hooks.kubernetes

Module Contents

Classes

KubernetesHook

Creates Kubernetes API connection.

class airflow.providers.cncf.kubernetes.hooks.kubernetes.KubernetesHook(conn_id=default_conn_name, client_configuration=None, cluster_context=None, config_file=None, in_cluster=None, disable_verify_ssl=None, disable_tcp_keepalive=None)[source]

Bases: airflow.hooks.base.BaseHook

Creates Kubernetes API connection.

  • use in cluster configuration by using extra__kubernetes__in_cluster in connection

  • use custom config by providing path to the file using extra__kubernetes__kube_config_path

  • use custom configuration by providing content of kubeconfig file via

    extra__kubernetes__kube_config in connection

  • use default config by providing no extras

This hook check for configuration option in the above order. Once an option is present it will use this configuration.

See also

For more information about Kubernetes connection: Kubernetes cluster Connection

Parameters
  • conn_id (Optional[str]) -- The kubernetes connection to Kubernetes cluster.

  • client_configuration (Optional[kubernetes.client.Configuration]) -- Optional dictionary of client configuration params. Passed on to kubernetes client.

  • cluster_context (Optional[str]) -- Optionally specify a context to use (e.g. if you have multiple in your kubeconfig.

  • config_file (Optional[str]) -- Path to kubeconfig file.

  • in_cluster (Optional[bool]) -- Set to True if running from within a kubernetes cluster.

  • disable_verify_ssl (Optional[bool]) -- Set to True if SSL verification should be disabled.

  • disable_tcp_keepalive (Optional[bool]) -- Set to True if you want to disable keepalive logic.

conn_name_attr = kubernetes_conn_id[source]
default_conn_name = kubernetes_default[source]
conn_type = kubernetes[source]
hook_name = Kubernetes Cluster Connection[source]
static get_connection_form_widgets()[source]

Returns connection widgets to add to connection form

static get_ui_field_behaviour()[source]

Returns custom field behaviour

conn_extras(self)[source]
get_conn(self)[source]

Returns kubernetes api session for use with requests

api_client(self)[source]

Cached Kubernetes API client

core_v1_client(self)[source]
create_custom_object(self, group, version, plural, body, namespace=None)[source]

Creates custom resource definition object in Kubernetes

Parameters
  • group (str) -- api group

  • version (str) -- api version

  • plural (str) -- api plural

  • body (Union[str, dict]) -- crd object definition

  • namespace (Optional[str]) -- kubernetes namespace

get_custom_object(self, group, version, plural, name, namespace=None)[source]

Get custom resource definition object from Kubernetes

Parameters
  • group (str) -- api group

  • version (str) -- api version

  • plural (str) -- api plural

  • name (str) -- crd object name

  • namespace (Optional[str]) -- kubernetes namespace

get_namespace(self)[source]

Returns the namespace that defined in the connection

get_pod_log_stream(self, pod_name, container='', namespace=None)[source]

Retrieves a log stream for a container in a kubernetes pod.

Parameters
  • pod_name (str) -- pod name

  • container (Optional[str]) -- container name

  • namespace (Optional[str]) -- kubernetes namespace

get_pod_logs(self, pod_name, container='', namespace=None)[source]

Retrieves a container's log from the specified pod.

Parameters
  • pod_name (str) -- pod name

  • container (Optional[str]) -- container name

  • namespace (Optional[str]) -- kubernetes namespace

Was this entry helpful?