Fix missing pieces from K8s API.

This commit is contained in:
Jan Mußler 2020-10-27 17:57:28 +01:00
parent 9a7fc85d3b
commit 30ddfc9ad8
1 changed files with 16 additions and 0 deletions

View File

@ -11,6 +11,9 @@ from datetime import datetime
from kubernetes import client, config
from kubernetes.client.rest import ApiException
def to_selector(labels):
return ",".join(["=".join(l) for l in labels.items()])
class K8sApi:
def __init__(self):
@ -261,6 +264,19 @@ class K8s:
return None
return pod.items[0].spec.containers[0].image
def get_cluster_leader_pod(self, pg_cluster_name, namespace='default'):
labels = {
'application': 'spilo',
'cluster-name': pg_cluster_name,
'spilo-role': 'master',
}
pods = self.api.core_v1.list_namespaced_pod(
namespace, label_selector=to_selector(labels)).items
if pods:
return pods[0]
class K8sBase:
'''