22
22
23
23
24
24
def 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 ()
37
25
# 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 )
45
44
46
45
return deployment
47
46
@@ -65,30 +64,14 @@ def update_deployment(api_instance, deployment):
65
64
print ("Deployment updated. status='%s'" % str (api_response .status ))
66
65
67
66
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
-
85
67
def delete_deployment (api_instance ):
86
68
# Delete deployment
87
69
api_response = api_instance .delete_namespaced_deployment (
88
70
name = DEPLOYMENT_NAME ,
89
71
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 ))
92
75
print ("Deployment deleted. status='%s'" % str (api_response .status ))
93
76
94
77
@@ -106,8 +89,6 @@ def main():
106
89
107
90
update_deployment (extensions_v1beta1 , deployment )
108
91
109
- roll_back_deployment (extensions_v1beta1 )
110
-
111
92
delete_deployment (extensions_v1beta1 )
112
93
113
94
0 commit comments