Kapp is a simple deployment tool focused on the concept of "K8S application" = a set of resources with the same label. Deploy and view groups of Kubernetes resources as "applications". Apply changes safely and predictably, watching resources as they converge.
NOTE : you have to be into delivery/kapp
folder to run the commands below.
- Deploy an application :
kapp deploy -a podtatohead-app -f ../manifest/manifest.yaml
Note: No need to write a script to wait until all your resources are really created : kapp is waiting for all dependencies of your resources to be ready.
If you try to run the above command a second time, nothing happens : kapp only changes what is necessary.
- Inspect an app :
kapp inspect -a podtatohead-app --tree
- Display apps :
kapp ls
- Update an app :
- change image tag in
../manifest/manifest.yaml
- display diff before deploying :
kapp deploy -a podtatohead-app -f ../manifest/manifest.yaml --diff-changes
- change image tag in
- Delete app :
kapp delete -a podtatohead-app
Note: Those who know Terraform should see similarities regarding resources management.
kapp -y deploy -a podtatohead-chart -f <(helm template ph ../charts/podtatohead)
and simply delete with kapp delete -a podtatohead-chart
kapp -y deploy -a podtatohead-kusto-app -f <(kustomize build ../kustomize/overlays/dev)
and simply delete with kapp delete -a podtatohead-kusto-app
- See what would be deployed
Example : If you want to check what resources Istio is going to deploy in your cluster :
kapp deploy -a istio -f <(istioctl manifest generate --set profile=default)
# No need to deploy, enter 'N' or 'Ctrl+C'