Create pre-flight cluster check script
Create a script that users can run before install/upgrading the chart, to ensure that their cluster is ready for the GitLab install.
This was discussed in a call recently, we're we were interested in knowing whether the metrics api server was installed/available (needed for our HPAs)
It would could be used for validated kubernetes version, checking that the storage class is available and warning if it doesn't have the appropriate retain policy, etc.
Notes from the call:
It’d be nifty if there was some sort of testing script (aka preflight) that we could provide to customers as a method of validating that a cluster is ready to go and/or extensible that it could be run post install at any time to determine the health of the cluster or the GitLab application
Ideas for things to check
- Kubernetes version is supported
- Helm version is supported
- Info on storage class
- Does one exist
- Is there a default
- What is the ReclaimPolicy on the default?
- Metrics server running (and available)
- Feed in values.yaml and check for sane defaults?
- Internet connectivity?
- Or valid working proxy connetivity
- or valid reconfiguration of images that point to working registry
- User has RBAC access to create all the necessary objects
- Instance sizing is sane / Available cpu/memory available on the nodes
- Necessary APIs installed in cluster and at proper versions