Kubernetes info subpackage (ska_tangoctl.k8s_info)

Read info using K8S API.

class ska_tangoctl.k8s_info.KubernetesInfo(logger: Logger, context_name: str | None)[source]

Do weird and wonderful things in a Kubernetes cluser.

__del__() None[source]

Destructor.

__init__(logger: Logger, context_name: str | None) None[source]

Get Kubernetes client.

Parameters:
  • logger – logging handle

  • context_name – Kubernetes context

__weakref__

list of weak references to the object (if defined)

exec_pod_command(ns_name: str, pod_name: str, exec_command: list) str[source]

Execute command in pod.

Parameters:
  • ns_name – namespace name

  • pod_name – pod name

  • exec_command – list making up command string

Returns:

output

get_contexts_dict() dict[source]

Get a dictionary of Kubernetes contexts.

Returns:

dictionary of contexts

get_contexts_list() tuple[source]

Get a list of Kubernetes contexts.

Returns:

tuple with active host, active context, active cluster and list of contexts

get_domain() str | None[source]

Get domain name.

Returns:

domain name

get_namespaces_dict() dict[source]

Get a list of Kubernetes namespaces.

Returns:

dictionary of namespaces

get_namespaces_list(kube_namespace: str | None) tuple[source]

Get a list of Kubernetes namespaces.

Parameters:

kube_namespace – K8S namespace regex

Returns:

tuple with context, cluster and list of namespaces

get_pod(ipod: Any, ns_name: str | None, pod_name: str | None) Tuple[str | None, str | None, str | None][source]

Read pod information.

Parameters:
  • ipod – pod handle

  • ns_name – namespace name

  • pod_name – pod name

Returns:

pod name, IP address and namespace

get_pod_desc(ns_name: str | None, pod_name: str) Any[source]

Describe pod.

Parameters:
  • ns_name – namespace

  • pod_name – pod name

Returns:

API response

get_pod_log(ns_name: str | None, pod_name: str) Any[source]

Read pod log file.

Parameters:
  • ns_name – namespace

  • pod_name – pod name

Returns:

log string

get_pods(ns_name: str | None, pod_name: str | None) dict[source]

Read pods information.

Parameters:
  • ns_name – namespace name

  • pod_name – pod name

Returns:

dict with pod name, IP address and namespace

get_service(isvc: Any, ns_name: str | None, svc_name: str | None) Tuple[Any, Any, Any, str | None, Any][source]

Read service information.

Parameters:
  • isvc – service handle

  • ns_name – namespace name

  • svc_name – service name

Returns:

tuple with pod name, IP address and namespace

get_service_addr(isvc: Any, ns_name: str | None, svc_name: str | None) Tuple[str | None, str | None, str | None, str | None, str | None][source]

Get IP address for K8S service.

Parameters:
  • isvc – K8S service handle

  • ns_name – namespace

  • svc_name – service name

Returns:

tuple with service name, namespace, IP address, port, protocol

get_service_desc(ns_name: str | None, svc_name: str | None) Any[source]

Read service information.

Parameters:
  • ns_name – namespace name

  • svc_name – service name

Returns:

API response

get_service_status(ns_name: str | None, svc_name: str | None) Any[source]

Read service information.

Parameters:
  • ns_name – namespace name

  • svc_name – service name

Returns:

API response

get_services(ns_name: str | None, svc_name: str | None) dict[source]

Get information on kubernetes services.

Parameters:
  • ns_name – namespace

  • svc_name – service name

Returns:

dict with pod name, IP address and namespace

get_services_data(kube_namespace: str | None) Any[source]

Read K8S services.

Parameters:

kube_namespace – K8S namespace

Returns:

list of services

get_services_dict(kube_namespace: str | None) Any[source]

Read K8S services.

Parameters:

kube_namespace – K8S namespace

Returns:

dictionary of services