Perform the following steps to ensure that all the IDM components shutdown gracefully:
Log in to the Azure portal.
Go to your Kubernetes cluster.
Under Kubernetes resources, Click Workloads.
Go to Deployments tab, Click Filter by namespace drop-down list, select your namespace.
Select the deployment (s), Click Delete.
Go to Pods tab, Click Filter by namespace drop-down list, select your namespace.
Click Refresh, to check the component-pod(s) are completely removed.
Go to Stateful sets tab, click Filter by namespace drop-down list, select your namespace.
Select the Stateful set (s), Click Delete.
Again, Go to Pods tab, Click Filter by namespace drop-down list, select your namespace.
Click Refresh, to check the components are completely removed.
Go to Overview Under Kubernetes resources, Click Stop and wait for some time.
Once the cluster is stopped completely, then click Start.
In Azure CLI, run the following command to restart Nginx-ingress controller:
helm upgrade nginx-ingress ingress-nginx/ingress-nginx --namespace <your namespace> --set controller.replicaCount=1 --set controller.service.loadBalancerIP=<Public IP address assigned to load balancer> --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-dns-label-name"=<LoadBalancerName>
For example
helm upgrade nginx-ingress ingress-nginx/ingress-nginx --namespace idm --set controller.replicaCount=1 --set controller.service.loadBalancerIP=192.168.0.1 --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-dns-label-name"=identitymanager
Run the following command to restart the remaining components:
helm upgrade identity-manager helm_charts/identity-manager-1.3.0.tgz --namespace <namespace> -f values.yaml
For example
helm upgrade identity-manager helm_charts/identity-manager-1.3.0.tgz --namespace idm -f values.yaml
Wait till all the pods are in ready state.
To check the current status of the pods run the following command:
kubectl get pods --watch -n <namespace>
Run the following command to restart the engine service:
kubectl rollout restart -n <namespace> statefulset/identityengine
For example
kubectl rollout restart -n idm statefulset/identityengine
Repeat Step 16.