def get_node_status(kube_client: client.CoreV1Api, label: str) -> list: conditions = [] if label: list_nodes = kube_client.list_node(label_selector=label, pretty='true', _preload_content=False) for node in list_nodes: conditions = node.conditons else: list_nodes = kube_client.list_node(pretty='true', _preload_content=False) for node in list_nodes: conditions = node.conditons return conditions
def get_node_ips(api_client: client.CoreV1Api) -> []: """Get public IPs (ExternalIP) of all nodes.""" ips = [] ret = api_client.list_node(watch=False) for i in ret.items: for address in i.status.addresses: if address.type == 'ExternalIP': ips.append(address.address) return ips
def test_node_apis(self, k8s: client.CoreV1Api): for item in k8s.list_node().items: node = k8s.read_node(name=item.metadata.name)
def get_node_names(api: CoreV1Api) -> list[str]: ret = api.list_node(watch=False) node_names = [] for item in ret.items: node_names.append(item.metadata.name) return node_names