Kubernetes info subpackage (ska_tangoctl.k8s_info)

Read info using K8S API.

class ska_tangoctl.k8s_info.KubernetesControl(logger: Logger)[source]

Do weird and wonderful things in a Kubernetes cluser.

__del__() None[source]

Destructor.

__init__(logger: Logger) None[source]

Get Kubernetes client.

Parameters:

logger – logging handle

__weakref__

list of weak references to the object (if defined)

exec_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_namespaces_dict() dict[source]

Get a list of Kubernetes namespaces.

Returns:

dictionary of namespaces

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

Get a list of Kubernetes namespaces.

Parameters:

kube_namespace – K8S namespace regex

Returns:

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_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_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