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)[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.

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

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?