Software AG Products 10.7 | Using API Gateway | AppMesh Support in API Gateway | Provisioning of API and Policy Updates
 
Provisioning of API and Policy Updates
To provision the API definition and policy updates for a Microgateway deployed in the Kubernetes pod, you have to update the API and redeploy AppMesh.
*To provision API and policy updates in the AppMesh environment
1. Click AppMesh.
A list of microservices in the Kubernetes environment present in the namespaces, configured in the AppMesh configuration, and those that expose a nodePort and the corresponding deployments appears.
2. Click View details to view the service details.
3. Open the corresponding API of the microservice.
4. Update the API definition of the API.
a. Update the API definition in one the following ways:
*By importing the API definition from a file.
*By importing the API definition from a URL.
For more information about how to update APIs, see Updating APIs.
b. Update the required API policies, if any.
For more information about how to update policies, see Managing API-level Policies.
5. Click AppMesh to view the microservices updated with the API definition and API policies.
6. Click View details to view the service details.
7. Click Deploy.
The service is redeployed and Microgateway is injected to the Kubernetes pod.
To allow redeployment updates to occur with zero downtime of the pods, the Kubernetes out-of-the-box support through rolling updates is used. This ensures that the deployment does not break the current requests, and no requests are dropped due to a pod failure.
The Kubernetes rolling updates strategy used in AppMesh redeployment has the following parameters:
*RollingUpdate. New pods are added gradually, and old pods are terminated gradually.
*maxSurge. The number of pods that can be created above the desired amount of pods during an update.
*maxUnavailable. The number of pods that can be unavailable during the update process.
Sample Rolling Update strategy you must add in the deployment descriptor that allows for maximum available pods is as follows:

strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 0
maxSurge: 1