Kubernetes提供了多種語言的客戶端SDK, 其中Python API能夠使用python語言來操縱集羣,實現管理的自動化,很是方便、功能強大。node
pip install git+https://github.com/kubernetes-client/python.git
或者:python
pip install kubernetes
首先引入SDK支持庫。而後將 ~/.kube 的config文件的內容複製到本地目錄,保存爲文件kubeconfig.yaml,而後運行下面的python代碼:nginx
from kubernetes import client, config config.kube_config.load_kube_config(config_file="kubeconfig.yaml")
得到API的CoreV1Api版本對象:git
v1 = client.CoreV1Api()
for ns in v1.list_namespace().items: print(ns.metadata.name)
結果以下:github
blockchain default ingress istio-system jupyter ks-dev kube-public kube-system kubeflow-dev kubeflow013 monitor rook-ceph-system
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 ))
print("Listing pods with their IPs:") ret = v1.list_pod_for_all_namespaces(watch=False) for i in ret.items: print("%s\t%s\t%s" % (i.status.pod_ip, i.metadata.namespace, i.metadata.name))
結果以下:api
Listing pods with their IPs: 10.244.0.155 default busybox-577868d55b-47pkx 10.244.0.164 default busybox-deployment-6c975f66c6-ndlt2 10.244.0.154 default nfs-server-nfs-server-provisioner-0 10.244.0.117 default nginx-65899c769f-tgthn 10.244.0.145 istio-system istio-citadel-7bdc7775c7-p4ww8 10.244.0.125 istio-system istio-cleanup-old-ca-dkvcx 10.244.0.144 istio-system istio-egressgateway-795fc9b47-plrjf 10.244.0.148 istio-system istio-ingress-84659cf44c-ztgl7 10.244.0.143 istio-system istio-ingressgateway-7d89dbf85f-mgm6h 10.244.0.126 istio-system istio-mixer-post-install-rfgrh 10.244.0.137 istio-system istio-pilot-66f4dd866c-qcntx 10.244.0.146 istio-system istio-policy-76c8896799-88t7b 10.244.0.139 istio-system istio-sidecar-injector-645c89bc64-d8mxc 10.244.0.159 istio-system istio-statsd-prom-bridge-949999c4c-rcpgt 10.244.0.138 istio-system istio-telemetry-6554768879-vqw86 10.244.0.158 istio-system prometheus-86cb6dd77c-dgp7c 10.244.0.141 jupyter hook-image-puller-1530505782-9lp9b 10.244.0.162 jupyter hub-7b46b56bb8-9l7qh 10.244.0.167 jupyter jupyter-supermap 10.244.0.129 jupyter proxy-757b9676bf-wngcd 192.168.199.249 kube-system etcd-supermap 10.244.0.140 kube-system flux-helm-operator-68f9f586f4-f8p2v 192.168.199.249 kube-system kube-apiserver-supermap 192.168.199.249 kube-system kube-controller-manager-supermap 10.244.0.156 kube-system kube-dns-58dd58c6c4-6hx59 192.168.199.249 kube-system kube-flannel-ds-sg9p6 192.168.199.249 kube-system kube-proxy-79l6g 192.168.199.249 kube-system kube-scheduler-supermap 10.244.0.119 kube-system kubernetes-dashboard-7d5dcdb6d9-xknlr 10.244.0.136 kube-system nginx-ingress-controller-67b9bf4c56-64lpc 10.244.0.134 kube-system nginx-ingress-default-backend-d676cbb5f-8q6t8 10.244.0.147 kube-system nvidia-device-plugin-daemonset-gzhvn 10.244.0.128 kube-system tiller-deploy-f44fbbb48-ff6qq 10.244.0.127 kubeflow-dev ambassador-d74c99b6f-28xnf 10.244.0.115 kubeflow-dev ambassador-d74c99b6f-92mkv 10.244.0.132 kubeflow-dev ambassador-d74c99b6f-mvb79 10.244.0.124 kubeflow-dev spartakus-volunteer-7976c7dd5c-rdd6q 10.244.0.130 kubeflow-dev tf-hub-0 10.244.0.135 kubeflow-dev tf-job-dashboard-7b57c549c8-h2sv2 10.244.0.122 kubeflow-dev tf-job-operator-594d8c7ddd-b75jw 10.244.0.116 kubeflow013 ambassador-5bfc88cc87-4njpb 10.244.0.123 kubeflow013 ambassador-5bfc88cc87-4s7jf 10.244.0.161 kubeflow013 ambassador-5bfc88cc87-x7bvz 10.244.0.118 kubeflow013 spartakus-volunteer-7976c7dd5c-btwtw 10.244.0.126 kubeflow013 tf-hub-0 10.244.0.121 kubeflow013 tf-job-dashboard-7b57c549c8-zwq92 10.244.0.125 kubeflow013 tf-job-operator-594d8c7ddd-ddmqn 10.244.0.120 monitor grafana-8698b89767-hd7sv 10.244.0.163 monitor prometheus-alertmanager-6df98765f4-gkhrh 10.244.0.131 monitor prometheus-kube-state-metrics-6584885ccf-2tlh4 192.168.199.249 monitor prometheus-node-exporter-tcqlx 10.244.0.160 monitor prometheus-pushgateway-5495f55cdf-qbf4v 10.244.0.165 monitor prometheus-server-5959898967-snztn 192.168.199.249 rook-ceph-system rook-ceph-agent-s5tjx 10.244.0.142 rook-ceph-system rook-ceph-mgr0-77d9fb65c-skljh 10.244.0.151 rook-ceph-system rook-ceph-mon3-sgqs8 10.244.0.157 rook-ceph-system rook-ceph-mon5-4rftd 10.244.0.153 rook-ceph-system rook-ceph-mon6-vx9ch 10.244.0.149 rook-ceph-system rook-ceph-operator-6c7687c646-l6r2r 10.244.0.133 rook-ceph-system rook-ceph-osd-frf6h 10.244.0.152 rook-ceph-system rook-discover-ptfwp