I'm new to using Helm and have noticed a lot of discussion around the idea of skipping the installation of Custom Resource Definitions (CRDs) during a Helm install. I understand that if CRDs are already in place, it can speed up the installation and upgrading process with commands like `helm install` or `helm upgrade`. However, I feel the time saved seems minimal compared to the complexity it introduces. What are the specific scenarios where avoiding CRD installations via Helm might lead to issues?
5 Answers
Some teams prefer to manage CRDs' lifecycle separately from the rest of the Helm chart's content. This flexibility is advantageous in certain setups.
The order of installation matters a lot. You ideally want to install the CRD first, then any operators that use that CRD, and finally the applications that utilize the operators. Changing versions independently is crucial as it can affect all apps using that CRD.
It depends on how your Helm release manages CRD updates. If it deletes old CRDs and recreates them, this can lead to loss of data for applications dependent on those CRDs, especially databases. Stateless applications might handle this better, but with stateful ones, you could be in trouble.
If you have limited access to the cluster, it makes sense to skip installing CRDs. Often, another admin responsible for CRDs needs elevated permissions, so as a regular user, you wouldn't need that level of access.
One major reason is the potential for conflict if you have multiple instances of the same application trying to redeclare CRDs. This can lead to unexpected behaviors or errors during installation and updates.

Related Questions
Biggest Problem With Suno AI Audio
Ethernet Signal Loss Calculator
Sports Team Randomizer
10 Uses For An Old Smartphone
Midjourney Launches An Exciting New Feature for Their Image AI
ShortlyAI Review