通过http(s)与kiali服务器通信的python客户端

kiali-client的Python项目详细描述


简介

此存储库包括必要的python客户端库,用于远程访问kiali

安装

  • 若要安装,请运行python setup.py install(如果从源代码安装),或运行pip install kiali client(如果使用pip,则运行pip install kiali client)。

创建客户端连接

  • 要启动Kiali客户端,请使用kiali client()方法。它需要主机用户名密码参数
>>>fromkialiimportKialiClient>>>client=KialiClient(host='kiali-url.com')

可用于客户端的其他参数

  • 主机(默认:localhost
  • scheme(默认值:http,选项:httpshttp
  • 端口(默认值:443
  • 身份验证类型(默认:https用户密码,选项:no authoauth
  • 用户名(默认值:admin
  • 密码(默认:管理员
  • 令牌(当您使用oauth令牌时使用。它是帐户的openshift令牌)
  • verify(默认值:false)-用于验证SSL证书
  • 虚张声势地址(默认值:虚张声势-虚张声势文件的地址

响应元数据

  • json
  • 文本
  • 状态代码
  • URL
  • 已用时间(请求响应时间)

用法示例:

>>>client.request(method_name='getConfig').json(){'istioNamespace':'istio-system','istioLabels':{'AppLabelName':'app','VersionLabelName':'version'}}>>>client.request(method_name='namespaceList').text'[{"name":"bookinfo"},{"name":"bookinfo2"},{"name":"default"},{"name":"istio-examples"},{"name":"istio-system"},{"name":"management-infra"}]'>>>client.request(method_name='namespaceMetrics',path={'namespace':'istio-system'}).status_code200>>>client.request(method_name='jaegerInfo').url'https://kiali-istio-system.host.com:443/api/jaeger'>>>client.request(method_name='serviceList',path={'namespace':'istio-system'}).elapseddatetime.timedelta(seconds=1,microseconds=859915)

在Kiali客户端上创建请求

可用方法

此方法将返回kiali的状态。

用法示例:

>>>client.request(method_name='Root').json(){'status':{'Kiali console version':'0.12.0-SNAPSHOT.2937-local-261fb4806afc5c853b097e3cd24e750c691ea6da','Kiali core commit hash':'d1efd8cf6b6a2c56301aa2bb14519b3904e258b0','Kiali core version':'v0.12.0-SNAPSHOT','Kiali state':'running'},'externalServices':[{'name':'Prometheus','version':'2.3.1'},{'name':'Kubernetes','version':'v1.11.0+d4cacc0'},{'name':'Jaeger','url':'https://jaeger-query-istio-system.host.com'},{'name':'Grafana','url':'http://grafana-istio-system.host.com'}],'warningMessages':[]}

杰格林夫

  • 此方法将返回jaeger url。

用法示例:

>>>client.request(method_name='jaegerInfo').json(){'url':'https://jaeger-query-istio-system.host.com'}

grafanainfo

  • 此方法将返回grafana url和其他描述符。
>>>client.request(method_name='grafanaInfo').json(){'url':'http://grafana-istio-system.host.com','serviceDashboardPath':'/d/LJ_uJAvmk/istio-service-dashboard','workloadDashboardPath':'/d/UbsSZTDik/istio-workload-dashboard','varNamespace':'var-namespace','varService':'var-service','varWorkload':'var-workload'}

获取状态

  • 此方法将返回kiali、kubernetes和prometheus的版本,还将显示grafana和jaeger的url。

用法示例:

>>>client.request(method_name='getStatus').json(){'status':{'Kiali console version':'0.12.0-SNAPSHOT.2937-local-261fb4806afc5c853b097e3cd24e750c691ea6da','Kiali core commit hash':'d1efd8cf6b6a2c56301aa2bb14519b3904e258b0','Kiali core version':'v0.12.0-SNAPSHOT','Kiali state':'running'},'externalServices':[{'name':'Prometheus','version':'2.3.1'},{'name':'Kubernetes','version':'v1.11.0+d4cacc0'},{'name':'Jaeger','url':'https://jaeger-query-istio-system.host.com'},{'name':'Grafana','url':'http://grafana-istio-system.host.com'}],'warningMessages':[]}

获取配置

  • 此方法将返回kiali配置。

用法示例:

>>>client.request(method_name='getConfig').json(){'istioNamespace':'istio-system','istioLabels':{'AppLabelName':'app','VersionLabelName':'version'}}

gettoken

  • 此方法将返回令牌信息和到期日期。

用法示例:

>>>client.request(method_name='GetToken').json(){'token':'<TokenInformation>','expired_at':'2018-12-14 13:44:29.113973696 +0000 UTC m=+107438.008998940'}

名称空间列表

  • 此方法将返回可用命名空间的列表。

用法示例:

>>>client.request(method_name='namespaceList').json()[{'name':'bookinfo'},{'name':'bookinfo2'},{'name':'default'},{'name':'istio-examples'},{'name':'istio-system'},{'name':'management-infra'}]

命名空间度量

  • 此方法将返回指定命名空间的度量值
  • 必需参数(命名空间

用法示例:

>>>fromkialiimportKialiClient>>>client=KialiClient(host='kiali-url.com')
0

命名空间运行状况

  • 此方法将返回命名空间为health
  • 必需参数(命名空间

用法示例:

>>>fromkialiimportKialiClient>>>client=KialiClient(host='kiali-url.com')
1

命名空间验证

  • 此方法将返回指定命名空间的验证
  • 必需参数(命名空间

用法示例:

>>>fromkialiimportKialiClient>>>client=KialiClient(host='kiali-url.com')
2

ISTIOConfiglist

  • 此方法将返回指定命名空间的istio配置列表
  • 必需参数(命名空间

用法示例:

>>>fromkialiimportKialiClient>>>client=KialiClient(host='kiali-url.com')
3

istioconfigdetails

  • 此方法将返回指定命名空间中指定对象的istio配置。
  • 必需参数(命名空间对象类型对象
>>>fromkialiimportKialiClient>>>client=KialiClient(host='kiali-url.com')
4

对象验证

  • 此方法将返回指定命名空间中指定对象的验证
  • 必需参数(命名空间对象类型对象
>>>fromkialiimportKialiClient>>>client=KialiClient(host='kiali-url.com')
5

服务列表

  • 此方法将返回指定命名空间中的服务列表。
  • 必需参数(命名空间
>>>fromkialiimportKialiClient>>>client=KialiClient(host='kiali-url.com')
6

服务详细信息

  • 此方法将返回规范中指定服务的详细信息固定名称空间。
  • 必需参数(命名空间服务
>>>fromkialiimportKialiClient>>>client=KialiClient(host='kiali-url.com')
7

服务指标

  • 此方法将返回服务度量的指示。
  • 必需参数(命名空间服务
>>>fromkialiimportKialiClient>>>client=KialiClient(host='kiali-url.com')
8

服务健康

  • 此方法将返回带有servicehealth
  • 必需参数(命名空间服务
>>>fromkialiimportKialiClient>>>client=KialiClient(host='kiali-url.com')
9

服务验证

  • 此方法将返回指定命名空间中指定服务的验证
  • 必需参数(命名空间服务
>>>client.request(method_name='getConfig').json(){'istioNamespace':'istio-system','istioLabels':{'AppLabelName':'app','VersionLabelName':'version'}}>>>client.request(method_name='namespaceList').text'[{"name":"bookinfo"},{"name":"bookinfo2"},{"name":"default"},{"name":"istio-examples"},{"name":"istio-system"},{"name":"management-infra"}]'>>>client.request(method_name='namespaceMetrics',path={'namespace':'istio-system'}).status_code200>>>client.request(method_name='jaegerInfo').url'https://kiali-istio-system.host.com:443/api/jaeger'>>>client.request(method_name='serviceList',path={'namespace':'istio-system'}).elapseddatetime.timedelta(seconds=1,microseconds=859915)
0

应用列表

  • 此方法将返回指定命名空间中的应用程序列表。
  • 必需参数(命名空间
>>>client.request(method_name='getConfig').json(){'istioNamespace':'istio-system','istioLabels':{'AppLabelName':'app','VersionLabelName':'version'}}>>>client.request(method_name='namespaceList').text'[{"name":"bookinfo"},{"name":"bookinfo2"},{"name":"default"},{"name":"istio-examples"},{"name":"istio-system"},{"name":"management-infra"}]'>>>client.request(method_name='namespaceMetrics',path={'namespace':'istio-system'}).status_code200>>>client.request(method_name='jaegerInfo').url'https://kiali-istio-system.host.com:443/api/jaeger'>>>client.request(method_name='serviceList',path={'namespace':'istio-system'}).elapseddatetime.timedelta(seconds=1,microseconds=859915)
1

AppMetrics

  • 此方法将返回应用程序度量的指示。
  • 必需参数(命名空间应用程序
>>>client.request(method_name='getConfig').json(){'istioNamespace':'istio-system','istioLabels':{'AppLabelName':'app','VersionLabelName':'version'}}>>>client.request(method_name='namespaceList').text'[{"name":"bookinfo"},{"name":"bookinfo2"},{"name":"default"},{"name":"istio-examples"},{"name":"istio-system"},{"name":"management-infra"}]'>>>client.request(method_name='namespaceMetrics',path={'namespace':'istio-system'}).status_code200>>>client.request(method_name='jaegerInfo').url'https://kiali-istio-system.host.com:443/api/jaeger'>>>client.request(method_name='serviceList',path={'namespace':'istio-system'}).elapseddatetime.timedelta(seconds=1,microseconds=859915)
2

应用程序详细信息

  • 此方法将返回命名空间中指定应用程序的详细信息。
  • 必需参数(命名空间应用程序
>>>client.request(method_name='getConfig').json(){'istioNamespace':'istio-system','istioLabels':{'AppLabelName':'app','VersionLabelName':'version'}}>>>client.request(method_name='namespaceList').text'[{"name":"bookinfo"},{"name":"bookinfo2"},{"name":"default"},{"name":"istio-examples"},{"name":"istio-system"},{"name":"management-infra"}]'>>>client.request(method_name='namespaceMetrics',path={'namespace':'istio-system'}).status_code200>>>client.request(method_name='jaegerInfo').url'https://kiali-istio-system.host.com:443/api/jaeger'>>>client.request(method_name='serviceList',path={'namespace':'istio-system'}).elapseddatetime.timedelta(seconds=1,microseconds=859915)
3

AppHealth

  • 此方法将返回一个带有apphealth
  • 必需参数(命名空间应用程序
>>>client.request(method_name='getConfig').json(){'istioNamespace':'istio-system','istioLabels':{'AppLabelName':'app','VersionLabelName':'version'}}>>>client.request(method_name='namespaceList').text'[{"name":"bookinfo"},{"name":"bookinfo2"},{"name":"default"},{"name":"istio-examples"},{"name":"istio-system"},{"name":"management-infra"}]'>>>client.request(method_name='namespaceMetrics',path={'namespace':'istio-system'}).status_code200>>>client.request(method_name='jaegerInfo').url'https://kiali-istio-system.host.com:443/api/jaeger'>>>client.request(method_name='serviceList',path={'namespace':'istio-system'}).elapseddatetime.timedelta(seconds=1,microseconds=859915)
4

工作负载列表

  • 此方法将返回指定命名空间中的工作负载列表。
  • 必需参数(命名空间
>>>client.request(method_name='getConfig').json(){'istioNamespace':'istio-system','istioLabels':{'AppLabelName':'app','VersionLabelName':'version'}}>>>client.request(method_name='namespaceList').text'[{"name":"bookinfo"},{"name":"bookinfo2"},{"name":"default"},{"name":"istio-examples"},{"name":"istio-system"},{"name":"management-infra"}]'>>>client.request(method_name='namespaceMetrics',path={'namespace':'istio-system'}).status_code200>>>client.request(method_name='jaegerInfo').url'https://kiali-istio-system.host.com:443/api/jaeger'>>>client.request(method_name='serviceList',path={'namespace':'istio-system'}).elapseddatetime.timedelta(seconds=1,microseconds=859915)
5

工作负载详细信息

  • 此方法将返回命名空间中指定工作负载的详细信息。
  • 必需参数(命名空间工作负载
>>>client.request(method_name='getConfig').json(){'istioNamespace':'istio-system','istioLabels':{'AppLabelName':'app','VersionLabelName':'version'}}>>>client.request(method_name='namespaceList').text'[{"name":"bookinfo"},{"name":"bookinfo2"},{"name":"default"},{"name":"istio-examples"},{"name":"istio-system"},{"name":"management-infra"}]'>>>client.request(method_name='namespaceMetrics',path={'namespace':'istio-system'}).status_code200>>>client.request(method_name='jaegerInfo').url'https://kiali-istio-system.host.com:443/api/jaeger'>>>client.request(method_name='serviceList',path={'namespace':'istio-system'}).elapseddatetime.timedelta(seconds=1,microseconds=859915)
6

工作负载运行状况

  • 此方法将返回一个带有workloadhealth
  • 必需参数(命名空间工作负载
>>>client.request(method_name='getConfig').json(){'istioNamespace':'istio-system','istioLabels':{'AppLabelName':'app','VersionLabelName':'version'}}>>>client.request(method_name='namespaceList').text'[{"name":"bookinfo"},{"name":"bookinfo2"},{"name":"default"},{"name":"istio-examples"},{"name":"istio-system"},{"name":"management-infra"}]'>>>client.request(method_name='namespaceMetrics',path={'namespace':'istio-system'}).status_code200>>>client.request(method_name='jaegerInfo').url'https://kiali-istio-system.host.com:443/api/jaeger'>>>client.request(method_name='serviceList',path={'namespace':'istio-system'}).elapseddatetime.timedelta(seconds=1,microseconds=859915)
7

工作负载指标

  • 此方法将返回工作量指标的指示。
  • 必需参数(命名空间工作负载
>>>client.request(method_name='getConfig').json(){'istioNamespace':'istio-system','istioLabels':{'AppLabelName':'app','VersionLabelName':'version'}}>>>client.request(method_name='namespaceList').text'[{"name":"bookinfo"},{"name":"bookinfo2"},{"name":"default"},{"name":"istio-examples"},{"name":"istio-system"},{"name":"management-infra"}]'>>>client.request(method_name='namespaceMetrics',path={'namespace':'istio-system'}).status_code200>>>client.request(method_name='jaegerInfo').url'https://kiali-istio-system.host.com:443/api/jaeger'>>>client.request(method_name='serviceList',path={'namespace':'istio-system'}).elapseddatetime.timedelta(seconds=1,microseconds=859915)
8

图形空间

  • 此方法将返回一个图,其中包含一个具有节点数组和边数组的字典
  • 必需参数(命名空间
  • 可以包含的其他参数,例如:{params={'graphtype':'app',duration:'60s'}}
>>>client.request(method_name='getConfig').json(){'istioNamespace':'istio-system','istioLabels':{'AppLabelName':'app','VersionLabelName':'version'}}>>>client.request(method_name='namespaceList').text'[{"name":"bookinfo"},{"name":"bookinfo2"},{"name":"default"},{"name":"istio-examples"},{"name":"istio-system"},{"name":"management-infra"}]'>>>client.request(method_name='namespaceMetrics',path={'namespace':'istio-system'}).status_code200>>>client.request(method_name='jaegerInfo').url'https://kiali-istio-system.host.com:443/api/jaeger'>>>client.request(method_name='serviceList',path={'namespace':'istio-system'}).elapseddatetime.timedelta(seconds=1,microseconds=859915)
9

图形服务

  • 此方法将返回一个图,其中包含一个具有节点数组和边数组的字典
  • 必需参数(命名空间
>>>client.request(method_name='Root').json(){'status':{'Kiali console version':'0.12.0-SNAPSHOT.2937-local-261fb4806afc5c853b097e3cd24e750c691ea6da','Kiali core commit hash':'d1efd8cf6b6a2c56301aa2bb14519b3904e258b0','Kiali core version':'v0.12.0-SNAPSHOT','Kiali state':'running'},'externalServices':[{'name':'Prometheus','version':'2.3.1'},{'name':'Kubernetes','version':'v1.11.0+d4cacc0'},{'name':'Jaeger','url':'https://jaeger-query-istio-system.host.com'},{'name':'Grafana','url':'http://grafana-istio-system.host.com'}],'warningMessages':[]}
0

图形工作负载

  • 此方法将返回一个图,其中包含一个具有节点数组和边数组的字典
  • 必需参数(命名空间
>>>client.request(method_name='Root').json(){'status':{'Kiali console version':'0.12.0-SNAPSHOT.2937-local-261fb4806afc5c853b097e3cd24e750c691ea6da','Kiali core commit hash':'d1efd8cf6b6a2c56301aa2bb14519b3904e258b0','Kiali core version':'v0.12.0-SNAPSHOT','Kiali state':'running'},'externalServices':[{'name':'Prometheus','version':'2.3.1'},{'name':'Kubernetes','version':'v1.11.0+d4cacc0'},{'name':'Jaeger','url':'https://jaeger-query-istio-system.host.com'},{'name':'Grafana','url':'http://grafana-istio-system.host.com'}],'warningMessages':[]}
1

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
从类访问属性时发生java编译错误   性能更好的Java序列化替代方案   java EhCache Spring XML集成命名空间   java如何使用表达式在JSP中检索新生成的图像   Java neo4j,REST和内存   java如何在mouseListener中删除和创建对象?   java在Hibernate中使用预定义前缀填充Id列   java无法从Elastic Beanstalk连接到Amazon SimpleDB   多线程通过单击JavaSwing中的按钮创建具有新名称的类的新对象   java如何在Kotlin中实现Memento模式   Android系列。对java进行排序。lang.NullPointerException   方法中的java重载构造函数内部类