python中一个简单但有用的kubernetes工具包

pyk的Python项目详细描述


versiondownloadsbuild status

这是一个简单但有用的工具包,它支持您编写 带有kubernetes的微服务风格应用程序。

PYK工具包应该由以下工具使用 kploy或从您自己的应用程序。它 是面向清单的,也就是说,它期望在 yaml文件;目前pyk的api如下:

  • 执行任意 operation 并返回资源(如果有): execute_operation(method='GET',ops_path='',payload='')
  • 返回资源的说明: describe_resource(resource_path)
  • 删除资源:delete_resource(resource_path)
  • 创建复制控制器(RC): create_rc(manifest_filename, namespace='default')
  • A级钢筋混凝土: scale_rc(manifest_filename, namespace='default', num_replicas=0)
  • 创建服务: create_svc(manifest_filename, namespace='default')

依赖关系

所有这些都包含在setup

  • PythonRequests (注意:我已经用2.6.2版本进行了测试)
  • pythonPyYAML(注意:我已经测试过 有版本3.11

使用pyk

例如,一个简单的使用模式是创建Replication Controller

import pprint
from pyk import toolkit

pyk_client = toolkit.KubeHTTPClient() # assumes local API Server at http://localhost:8080
_, rc_url = pyk_client.create_rc(manifest_filename='manifest/nginx-webserver-rc.yaml')
rc = pyk_client.describe_resource(rc_url)
pprint.pprint(rc.json())

测试PYK

要运行测试,请使用 test_pyk.py $KUBERNETES_API_SERVER_URL,例如:

$ ./test_pyk.py http://52.33.181.164/service/kubernetes

上面运行了所有的测试。您还可以指定特定的测试,如 所以:

$ ./test_pyk.py http://52.33.181.164/service/kubernetes "init app"
================================================================================
= Test case: init a simple app

2015-11-28T05:13:16 From manifest/nginx-webserver-rc.yaml I created the RC "webserver-rc" at /api/v1/namespaces/default/replicationcontrollers/webserver-rc
2015-11-28T05:13:17 From manifest/webserver-svc.yaml I created the service "webserver-svc" at /api/v1/namespaces/default/services/webserver-svc
2015-11-28T05:13:18 Found following endpoints:
2015-11-28T05:13:18 /api/v1/namespaces/default/endpoints/k8sm-scheduler ->
{
  "addresses": [
    {
      "ip": "10.0.3.45"
    }
  ],
  "ports": [
    {
      "port": 25504,
      "protocol": "TCP"
    }
  ]
}
2015-11-28T05:13:18 /api/v1/namespaces/default/endpoints/kubernetes ->
{
  "addresses": [
    {
      "ip": "10.0.3.45"
    }
  ],
  "ports": [
    {
      "port": 25502,
      "protocol": "TCP"
    }
  ]
}
2015-11-28T05:13:18 /api/v1/namespaces/default/endpoints/webserver-svc ->

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

推荐PyPI第三方库


热门话题
面向批处理的java非阻塞队列   java如何基于HttpComponent获取html内容   java为什么我的程序会显示此错误?   java spring控制器如何处理应用程序/octetstream请求?   尝试将数据插入数据库时出现java常规错误   无法在java多线程处理中维护生产者任务的顺序   java为什么JSON数据无法访问ViewPager?   java获取Maven中特定分支的SVN buildnumber   java客户端无法从服务器接收信息   java等轴测地图绘制,生成   java无法调试ProcessBuilder   java热点JVM阵列分配   在数组中存储“inputdialog”数据的java   saml Java Inflater引发DataFormatException“无效代码长度集”   从集合(爬虫、Jsoup、Java)写入文件