airflow.providers.cncf.kubernetes.hooks.kubernetes

Module Contents

airflow.providers.cncf.kubernetes.hooks.kubernetes._load_body_to_dict(body)[source]
class airflow.providers.cncf.kubernetes.hooks.kubernetes.KubernetesHook(conn_id: str = default_conn_name, client_configuration: Optional[client.Configuration] = 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 (str) -- the 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

create_custom_object(self, group: str, version: str, plural: str, body: Union[str, dict], namespace: Optional[str] = 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 (str) -- kubernetes namespace

get_custom_object(self, group: str, version: str, plural: str, name: str, namespace: Optional[str] = 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 (str) -- kubernetes namespace

get_namespace(self)[source]

Returns the namespace that defined in the connection

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

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

Parameters
  • pod_name (str) -- pod name

  • container -- container name

  • namespace (str) -- kubernetes namespace

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

Retrieves a container's log from the specified pod.

Parameters
  • pod_name (str) -- pod name

  • container -- container name

  • namespace (str) -- kubernetes namespace

Was this entry helpful?