Hello Folks.. I hope you all are doing so well. In this blog we will see how we can create a deployment using Kubernetes python client. Like we all know that generally we use kubectl commands for creating, listing, updating, deleting the kubernetes resources. But In this blog we will see how we can use python for doing these things with resources. Its going to be interested so stay tuned.
Before we start creating deployment using kubernetes python client. We need to follow some prerequisites like:
So, we need to install Kubernetes Python Client:
$ pip install kubernetes
The kubernetes python client is successfully installed now.
So; now let’s see how we can create a deployment via kubernetes python client.
Creating Deployment :
Now I create one directory on my desktop name is deployment :
or in this directory i have created two files i.e. create-deployment.py nginx-deployment.yaml :
why i created nginx-deployment.yaml file because i created deployment via passing yaml file.
now; i created deployment for that i have to import the python client in my create-deployment.py file
from kubernetes import client, config
Below is the code for creating deployment via python client :
from os import path import yaml from kubernetes import client, config def main(): # Configs can be set in Configuration class directly or using helper # utility. If no argument provided, the config will be loaded from # default location. config.load_kube_config() with open(path.join(path.dirname(__file__), "nginx-deployment.yaml")) as f: dep = yaml.safe_load(f) k8s_apps_v1 = client.AppsV1Api() resp = k8s_apps_v1.create_namespaced_deployment( body=dep, namespace="default") print("Deployment created. status='%s'" % resp.metadata.name) if __name__ == '__main__': main()
Here; is my nginx-deployment.yaml file that i pass in my create-deployment.py file :
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.15.4 ports: - containerPort: 80
Now let’s run the create-deployment.py file using command is :
Now; if i check my deployment is created is not i will simply run the command :
kubectl get deployment
so; you can see my deployment nginx-deployment is successfully created.
So; in this blog we have seen how easily we created deployment using kubernetes python client. I hope this blog will help you.