2222
2323
2424def create_deployment_object ():
25- # Instantiate an empty deployment object
26- deployment = client .ExtensionsV1beta1Deployment ()
27- # Fill required Deployment fields (apiVersion, kind and metadata)
28- deployment .api_version = "extensions/v1beta1"
29- deployment .kind = "Deployment"
30- deployment .metadata = client .V1ObjectMeta (name = DEPLOYMENT_NAME )
31- # Create and configurate a spec section
32- spec = client .ExtensionsV1beta1DeploymentSpec ()
33- spec .replicas = 3
34- spec .template = client .V1PodTemplateSpec ()
35- spec .template .metadata = client .V1ObjectMeta (labels = {"app" : "nginx" })
36- spec .template .spec = client .V1PodSpec ()
3725 # Configureate Pod template container
38- container = client .V1Container ()
39- container .name = "nginx"
40- container .image = "nginx:1.7.9"
41- container .ports = [client .V1ContainerPort (container_port = 80 )]
42- spec .template .spec .containers = [container ]
43- # Assign spec section into deployment.spec
44- deployment .spec = spec
26+ container = client .V1Container (
27+ name = "nginx" ,
28+ image = "nginx:1.7.9" ,
29+ ports = [client .V1ContainerPort (container_port = 80 )])
30+ # Create and configurate a spec section
31+ template = client .V1PodTemplateSpec (
32+ metadata = client .V1ObjectMeta (labels = {"app" : "nginx" }),
33+ spec = client .V1PodSpec (containers = [container ]))
34+ # Create the specification of deployment
35+ spec = client .ExtensionsV1beta1DeploymentSpec (
36+ replicas = 3 ,
37+ template = template )
38+ # Instantiate the deployment object
39+ deployment = client .ExtensionsV1beta1Deployment (
40+ api_version = "extensions/v1beta1" ,
41+ kind = "Deployment" ,
42+ metadata = client .V1ObjectMeta (name = DEPLOYMENT_NAME ),
43+ spec = spec )
4544
4645 return deployment
4746
@@ -65,30 +64,14 @@ def update_deployment(api_instance, deployment):
6564 print ("Deployment updated. status='%s'" % str (api_response .status ))
6665
6766
68- def roll_back_deployment (api_instance ):
69- # Instanciate an empty DeploymentRollback object
70- rollback = client .ExtensionsV1beta1DeploymentRollback ()
71- # Fill required DeploymentRollback fields
72- rollback .api_version = "extensions/v1beta1"
73- rollback .kind = "DeploymentRollback"
74- rollback .name = DEPLOYMENT_NAME
75- # Configurate the rollback
76- rollback .rollback_to = client .ExtensionsV1beta1RollbackConfig ()
77- rollback .rollback_to .revision = 0
78- # Execute the rollback
79- api_response = api_instance .create_namespaced_deployment_rollback (
80- name = DEPLOYMENT_NAME ,
81- namespace = "default" ,
82- body = rollback )
83-
84-
8567def delete_deployment (api_instance ):
8668 # Delete deployment
8769 api_response = api_instance .delete_namespaced_deployment (
8870 name = DEPLOYMENT_NAME ,
8971 namespace = "default" ,
90- body = client .V1DeleteOptions (propagation_policy = 'Foreground' ,
91- grace_period_seconds = 5 ))
72+ body = client .V1DeleteOptions (
73+ propagation_policy = 'Foreground' ,
74+ grace_period_seconds = 5 ))
9275 print ("Deployment deleted. status='%s'" % str (api_response .status ))
9376
9477
@@ -106,8 +89,6 @@ def main():
10689
10790 update_deployment (extensions_v1beta1 , deployment )
10891
109- roll_back_deployment (extensions_v1beta1 )
110-
11192 delete_deployment (extensions_v1beta1 )
11293
11394
0 commit comments