Kubernetes客户端库

本章将描述各种编程语言类型的Kubernetes API客户端库。

要使用Kubernetes REST API编写应用程序,你不需要自己编写API来调用、请求/响应等类型,可以直接使用现成的客户端库来实现。

客户端库经常是处理一些常见的任务,例如进行身份验证。

官方支持的Kubernetes客户端库

以下客户端库由Kubernetes SIG API Machinery维护。

Language Client Library Sample Programs
Go github.com/kubernetes/client-go/ browse
Python github.com/kubernetes-incubator/client-python/ browse

社区维护的客户端库

以下Kubernetes API客户端库由社区创建者维护,Kubernetes团队不会提供支持和维护。

Language Client Library
Clojure github.com/yanatan16/clj-kubernetes-api
Go github.com/ericchiang/k8s
Java (OSGi) bitbucket.org/amdatulabs/amdatu-kubernetes
Java (Fabric8, OSGi) github.com/fabric8io/kubernetes-client
Node.js github.com/tenxcloud/node-kubernetes-client
Node.js github.com/godaddy/kubernetes-client
Perl metacpan.org/pod/Net::Kubernetes
PHP github.com/devstub/kubernetes-api-php-client
PHP github.com/maclof/kubernetes-client
Python github.com/eldarion-gondor/pykube
Ruby github.com/Ch00k/kuber
Ruby github.com/abonas/kubeclient
Scala github.com/doriordan/skuber
K8S中文社区微信公众号

译者

Vincent

业精于勤 荒于嬉;行成于思 毁于随;

《Kubernetes客户端库》有2个想法

  1. 我使用python客户端库的代码如下:
    from kubernetes import client, config, watch

    # Configs can be set in Configuration class directly or using helper utility
    config.load_kube_config(config_file=”kubeconfig.yaml”)
    v1 = client.CoreV1Api()
    print(“Listing All services with their info:\n”)
    ret = v1.list_service_for_all_namespaces(watch=False)
    for i in ret.items:
    print(
    “%s \t%s \t%s \t%s \t%s \n” % (i.kind, i.metadata.namespace, i.metadata.name, i.spec.cluster_ip, i.spec.ports))

    但是会报
    OpenSSL.SSL.Error: [(‘SSL routines’, ‘tls_process_server_certificate’, ‘certificate verify failed’)]
    这是为啥?

    1. requests 库其实是基于 urllib 编写的,对 urllib 进行了封装,使得使用时候的体验好了很多,现在 urllib 已经出到了3版本,功能和性能自然是提升了不少。 所以,requests最新版本也是基于最新的 urllib3 进行封装。

      在urllib2时代对https的处理非常简单,只需要在请求的时候加上 verify=False 即可,这个参数的意思是忽略https安全证书的验证,也就是不验证证书的可靠性,直接请求, 这其实是不安全的,因为证书可以伪造,不验证的话就不能保证数据的真实性。

      http://www.updn.cn/2020/01/03/kubernetes-python-api%e4%b8%ad%e6%96%87%e4%bd%bf%e7%94%a8%e8%af%b4%e6%98%8e/

发表评论

电子邮件地址不会被公开。

Time limit exceeded. Please complete the captcha once again.