Adds Pod Disruption Budget to store-front deployment to ensure at least 60% of pods requested are up and running during times of voluntary disruption.
Does this introduce a breaking change?
[ ] Yes
[x] No
Pull Request Type
What kind of change does this Pull Request introduce?
[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:
How to Test
Get the code
Deploy a 3 node AKS cluster
Deploy the aks-store-demo app with PDB in place
In Azure Portal, deallocate node 2 in the VM scale set and observe
Use kubectl to drain node 1 from the node pool and observe
Use kubectl to drain node 0 from the node pool and observe
git clone https://github.com/pauldotyu/aks-store-demo/tree/pdb
cd aks-store-demo
git checkout pdb
Test the code
# provision cluster
az group create --name myResourceGroup --location eastus
az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 3 --generate-ssh-keys
connect to cluster
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
## What to Check
Verify that the following are valid
* After deallocating node 2, verify 3 store-front pods are running
* After draining node 1, verify 3 store-front pods are running
* After draining node 0, verify the drain never completes because there aren't enough resources to reschedule the pods to satifsfy the PDB
## Other Information
<!-- Add any other helpful information that may be needed here. -->
Purpose
Adds Pod Disruption Budget to store-front deployment to ensure at least 60% of pods requested are up and running during times of voluntary disruption.
Does this introduce a breaking change?
Pull Request Type
What kind of change does this Pull Request introduce?
How to Test
connect to cluster
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
deploy the app
helm install aks-store-demo ./charts/aks-store-demo