liyao
liyao

Reputation: 5

How to use kubernetes python sdk to redeploy a deployment

version info:

python3.7
kubernetes==8.0.0

doc: https://github.com/kubernetes-client/python/tree/release-8.0/kubernetes

I only found the update API, not the redeploy API。

thanks

Upvotes: 0

Views: 1974

Answers (1)

Arghya Sadhu
Arghya Sadhu

Reputation: 44569

If you want to partially update an existing deployment use PATCH method. An example below

# create an instance of the API class
api_instance = kubernetes.client.AppsV1Api(kubernetes.client.ApiClient(configuration))
name = 'name_example' # str | name of the Deployment
namespace = 'namespace_example' # str | object name and auth scope, such as for teams and projects
body = NULL # object | 
pretty = 'pretty_example' # str | If 'true', then the output is pretty printed. (optional)
dry_run = 'dry_run_example' # str | When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed (optional)

try: 
    api_response = api_instance.patch_namespaced_deployment(name, namespace, body, pretty=pretty, dry_run=dry_run)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling AppsV1Api->patch_namespaced_deployment: %s\n" % e)

If you want to replace the existing deployment with a new deployment use PUT method. An example below

# create an instance of the API class
api_instance = kubernetes.client.AppsV1Api(kubernetes.client.ApiClient(configuration))
name = 'name_example' # str | name of the Deployment
namespace = 'namespace_example' # str | object name and auth scope, such as for teams and projects
body = kubernetes.client.V1Deployment() # V1Deployment | 
pretty = 'pretty_example' # str | If 'true', then the output is pretty printed. (optional)
dry_run = 'dry_run_example' # str | When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed (optional)

try: 
    api_response = api_instance.replace_namespaced_deployment(name, namespace, body, pretty=pretty, dry_run=dry_run)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling AppsV1Api->replace_namespaced_deployment: %s\n" % e)

Upvotes: 1

Related Questions