kubernetes中python api的二次封装

  

k8 python api二次封装

 <代码> pprint pip安装工作,kubernetes  
 <代码>进口urllib3
  从pprint进口pprint
  从kubernetes进口端
  从操作系统导入路径
  进口yaml
  
  类K8sApi(对象):
  ,,def __init__(自我):
  ,,,#自我。配置=config.kube_config.load_kube_config ()
  ,,,,urllib3.disable_warnings (urllib3.exceptions.InsecureRequestWarning)
  ,,,自我。配置=client.Configuration ()
  ,,,self.configuration。主机=癶ttps://192.168.100.111:6443"
  ,,,,self.configuration.api_key [
  ,,,,,,& # 39;授权# 39;]=& # 39;不记名,令牌# 39;
  ,,,self.configuration。verify_ssl=False
  ,,,自我。k8s_apps_v1=client.AppsV1Api (client.ApiClient (self.configuration))
  ,,,自我。Api_Instance=client.CoreV1Api (client.ApiClient (self.configuration))
  ,,,自我。Api_Instance_Extensions=client.ExtensionsV1beta1Api (client.ApiClient (self.configuration))
  
  ,,# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
  
  ,,def list_deployment(自我,名称空间=癲efault"):
  ,,,,api_response=self.k8s_apps_v1.list_namespaced_deployment(名称空间)
  ,,,,返回api_response
  
  ,,def read_deployment(自我,name=皀ginx-deployment"、名称空间=癲efault"):
  ,,,api_response=self.k8s_apps_v1。read_namespaced_deployment(名称、名称空间)
  ,,,,返回api_response
  
  ,,def create_deployment(自我、文件=癲eploy-nginx.yaml"):
  ,,,,张开(path.join (path.dirname (__file__),文件))f:
  ,,,,,,dep=yaml.safe_load (f)
  ,,,,,,resp=self.k8s_apps_v1.create_namespaced_deployment (
  ,,,,,,,,身体=dep,名称空间=癲efault")
  ,,,,,,返回职责
  
  ,,def replace_deployment(自我、文件=癲eploy-nginx.yaml", name=皀ginx-deployment",名称空间=癲efault"):
  ,,,,张开(path.join (path.dirname (__file__),文件))f:
  ,,,,,,dep=yaml.safe_load (f)
  ,,,,,resp=self.k8s_apps_v1。replace_namespaced_deployment(名称、名称空间
  ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,身体=dep)
  ,,,,,,返回职责
  
  ,,def delete_deployment(自我,name=皀ginx-deployment"、名称空间=癲efault"):
  ,,,,api_response=self.k8s_apps_v1.delete_namespaced_deployment(名称、名称空间)
  ,,,,返回api_response
  
  ,,# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
  
  ,,def list_namespace(自我):
  ,,,,api_response=self.Api_Instance.list_namespace ()
  ,,,,返回api_response
  
  ,,def read_namespace(自我,name=癲efault"):
  ,,,,api_response=self.Api_Instance.read_namespace(名称)
  ,,,,返回api_response
  
  ,,def create_namespace(自我、文件=皃od-nginx.yaml"):
  ,,,,张开(path.join (path.dirname (__file__),文件))f:
  ,,,,,,dep=yaml.safe_load (f)
  ,,,,,,api_response=self.Api_Instance.create_namespace(身体=dep)
  ,,,,,,返回api_response
  
  ,,def replace_namespace(自我、文件=皃od-nginx.yaml", name=癲efault"):
  ,,,,张开(path.join (path.dirname (__file__),文件))f:
  ,,,,,,dep=yaml.safe_load (f)
  ,,,api_response=self.Api_Instance。replace_namespace(名称、身体=dep)
  ,,,,返回api_response
  
  ,,def delete_namespace(自我,name=癲efault"、名称空间=癲efault"):
  ,,,,api_response=self.Api_Instance.delete_namespace(名称)
  ,,,,返回api_response
  
  ,,# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
  
  ,,def list_node(自我):
  ,,,,api_response=self.Api_Instance.list_node ()
  ,,,,data=https://www.yisu.com/zixun/{}
  因为我在api_response.items:
  数据(i.metadata.name)={“名称”:i.metadata.name,
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

kubernetes中python api的二次封装