59 lines
1.2 KiB
Plaintext
59 lines
1.2 KiB
Plaintext
# Kubernetes Python Client
|
|
|
|
Python clients for talking to a [kubernetes](http://kubernetes.io/) cluster.
|
|
|
|
## Example
|
|
|
|
list all pods:
|
|
|
|
```python
|
|
import k8sutil
|
|
import k8sclient
|
|
import os
|
|
|
|
# Configs can be set in Configuration class directly or using helper utility
|
|
k8sutil.load_kube_config(os.environ["HOME"] + '/.kube/config')
|
|
|
|
v1=k8sclient.CoreV1Api()
|
|
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))
|
|
```
|
|
|
|
watch on namespace object:
|
|
|
|
```python
|
|
import k8sutil
|
|
import k8sclient
|
|
import os
|
|
|
|
|
|
# Configs can be set in Configuration class directly or using helper utility
|
|
k8sutil.load_kube_config(os.environ["HOME"] + '/.kube/config')
|
|
|
|
v1 = k8sclient.CoreV1Api()
|
|
count = 10
|
|
watch = k8sutil.Watch()
|
|
for event in watch.stream(v1.list_namespace, _request_timeout=60):
|
|
print("Event: %s %s" % (event['type'], event['object'].metadata.name))
|
|
count -= 1
|
|
if not count:
|
|
watch.stop()
|
|
|
|
print("Ended.")
|
|
```
|
|
|
|
More examples can be found in [examples](examples/) folder. To run examples, run this command:
|
|
|
|
```shell
|
|
python -m examples.example1
|
|
```
|
|
|
|
(replace example1 with the example base filename)
|
|
|
|
|
|
# Generated client README
|
|
|
|
|