from pykube.config import KubeConfig from pykube.http import HTTPClient import json import etcd from gluster import gfapi kubeconfig = KubeConfig('kubeconfig') class Pod(object): def __init__(self): self.client = HTTPClient(kubeconfig) def pod_view(self, pod_name): url = "namespaces/default/pods" pods = json.loads(self.client.get(url=url).content)['items'] for pod in pods: if pod['metadata']['labels']['run'] == pod_name: return pod return None def delete_pod(self, name): url = "namespaces/default/pods" pods = json.loads(self.client.get(url=url).content)['items'] for pod in pods: if pod['metadata']['labels']['run'] == name: pod_name = pod['metadata']['name'] del_url = "namespaces/default/pods/{}".format(pod_name) delete_result = self.client.delete(url=del_url).content return delete_result return None
from pykube.config import KubeConfig from pykube.http import HTTPClient import json import yaml import etcd import argparse parser = argparse.ArgumentParser(description='test argparse') kubeconfig = KubeConfig('/Users/Truman/project/kubeapi/kubeconfig') etcd_client = etcd.Client(host='172.21.133.1', port=4001) #etcd_client.set('/test/k1','v1') #etcd_client.set('/test/k1','v2') value = { "domain": "cool.ctest.baijiahulian.com cool.ctest.genshuixue.com", "http_port": 32104, "name": "cool", "host_ip": "172.21.133.6", "https_port": 31087, "testkey": 1 } etcd_client.set('/devnginx/default/cool', value) print((etcd_client.delete('/devnginx/default/cool'))) #etcd_client.delete('/test/k1') #print(etcd_client.get('/test/k1')) #directory = etcd_client.get('/test/k1') #for result in directory.children: # print(result.key + ":" +result.value)
def __init__(self,filename): self.config = KubeConfig(filename) self.http_client = HTTPClient(self.config)