与docker接口匹配的kubernetes的python包装器

kompatible的Python项目详细描述


kompatible

PyPI version

此包公开 Kubernetes Python Client 具有与 Docker SDK for Python

示例

首先,签出此项目并安装依赖项: pip install -r requirements-dev.txt。 然后,确保已安装并启动 Docker 和/或Minikube

把那些工具放好 import docker as sdkimport kompatible as sdk 下面的例子将起作用,尽管在第一个例子中 是码头集装箱启动, 在后者是库伯内特斯的豆荚

“你好,世界!”:运行、列出、删除

>>>client=sdk.from_env()>>>[client.containers.run(..."alpine","echo hello world",...name='foobar',...labels={'foo':'bar'})][...'hello world\n']>>>defnot_kube(containers):# Only needed for Docker, on Travis, with k8s started....return[cforcincontainersif'kube'notinc.name]>>>containers=not_kube(client.containers.list(all=True,filters={}))>>>[c.nameforcincontainers][...'foobar']>>>c=containers[0]>>>c.remove(force=True,v=True)>>>containers=not_kube(client.containers.list(all=True,filters={}))>>>assertlen(containers)==0

容器属性

>>>assertc.id>>>assertc.image>>>c.labels{...'foo':...'bar'}>>>assertc.short_id>>>assertc.status

containers.run夸格斯

Subclients

>>>assertclient.api>>>assertclient.containers>>>assertclient.images>>>assertclient.volumes

待办事项

client.api.base_url

client.containers.run(image_name,
    name=container_spec.container_name,
    ports={'{}/tcp'.format(container_spec.container_port): None},
    detach=True,
    labels=labels,
    volumes=volumes,
    nano_cpus=int(container_spec.cpus * 1e9),
    environment=environment,
    mem_reservation='{}M'.format(new_mem_reservation_mb))
client.containers.get(name_or_id)
    container.logs(timestamps=True)
    container.attrs['NetworkSettings']
    container.attrs['Config']['Labels']
    container.remove(force=True, v=True)
client.containers.list(all=True, filters=filters)

client.images
client.images.pull  # Used by script, but not used by runtime.
# For Kubernetes, consider https://kubernetes.io/docs/concepts/containers/images/#pre-pulling-images
# We would need to make sure that every image is on every node we start up.
# Mayber other Container registries are faster than DockerHub, in which
# case pre-caching might be less important?

client.volumes
client.volumes.create(driver='local').name

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

推荐PyPI第三方库


热门话题
java Selenium运行ChromeDriver而不修改路径   java软件包sun。网www.protocol。https不可见   java AEM中的哪个类实现了javax。servlet。请求调度器接口?   在java/scala中读取zip或7z文件时的性能问题   java将一个文件写入另一个二进制文件   java在类本身中创建实例   Java中C#Action()委托的等价物?   java如何在任何类中使用@Context或类似工具获取ServletRequest?   重构(java)应该/如何重构此代码?   hibernate中的java TransientObject异常   gwt使用Java在CouchDB 2.0 fauxton中创建文档   xml错误Java Jersey:NotAuthorizedException:HTTP 401未经授权   java heroku错误:无法找到或加载主类   java从CAS 5.0检索已发布的属性。Spring Security中的x 3.2.5