How does Spinnaker validate if the pipeline deployment is successful ? Does it perform any validation in addition to what GKE does ? Or is the onus on the user to add a validation stage in the pipeline to run additional validations ?
The short answer is: Spinnaker will (per resource kind) try to make sure that it is “stable”, meaning, for example, pods are healthy & updated, services have bound IP addresses, etc… This is to make sure that if you deploy an application, it won’t finish until it times out, fails due to validation, or your resource becomes “healthy”. This is all in addition to what GKE does. For a longer (and per resource) answer, check here.
Edit: I’d like to point out that additional validation (canary, integration test, manual judgement) is always a good idea, but Spinnaker will at least give you the additional confidence that if a deployment succeeded, you have at least minimum availability with passing health checks.