Deal of The Day! Hurry Up, Grab the Special Discount - Save 25% - Ends In 00:00:00 Coupon code: SAVE25
Welcome to Pass4Success

- Free Preparation Discussions

Linux Foundation KCNA Exam - Topic 3 Question 81 Discussion

When modifying an existing Helm release to apply new configuration values, which approach is the best practice?
A) Use helm upgrade with the --set flag to apply new values while preserving the release history.
B) Use kubectl edit to modify the live release configuration and apply the updated resource values.
C) Delete the release and reinstall it with the desired configuration to force an updated deployment.
D) Edit the Helm chart source files directly and reapply them to push the updated configuration values.

Linux Foundation KCNA Exam - Topic 3 Question 81 Discussion

Actual exam question for Linux Foundation's KCNA exam
Question #: 81
Topic #: 3
[All KCNA Questions]

When modifying an existing Helm release to apply new configuration values, which approach is the best practice?

Show Suggested Answer Hide Answer
Suggested Answer: A

Helm is a package manager for Kubernetes that provides a declarative and versioned approach to application deployment and lifecycle management. When updating configuration values for an existing Helm release, the recommended and best-practice approach is to use helm upgrade, optionally with the --set flag or a values file, to apply the new configuration while preserving the release's history.

Option A is correct because helm upgrade updates an existing release in a controlled and auditable manner. Helm stores each revision of a release, allowing teams to inspect past configurations and roll back to a previous known-good state if needed. Using --set enables quick overrides of individual values, while using -f values.yaml supports more complex or repeatable configurations. This approach aligns with GitOps and infrastructure-as-code principles, ensuring consistency and traceability.

Option B is incorrect because modifying Helm-managed resources directly with kubectl edit breaks Helm's state tracking. Helm maintains a record of the desired state for each release, and manual edits can cause configuration drift, making future upgrades unpredictable or unsafe. Kubernetes documentation and Helm guidance strongly discourage modifying Helm-managed resources outside of Helm itself.

Option C is incorrect because deleting and reinstalling a release discards the release history and may cause unnecessary downtime or data loss, especially for stateful applications. Helm's upgrade mechanism is specifically designed to avoid this disruption while still applying configuration changes safely.

Option D is also incorrect because editing chart source files directly and reapplying them bypasses Helm's release management model. While chart changes are appropriate during development, applying them directly to a running release without helm upgrade undermines versioning, rollback, and repeatability.

According to Helm documentation, helm upgrade is the standard and supported method for modifying deployed applications. It ensures controlled updates, preserves operational history, and enables safe rollbacks, making option A the correct and fully verified best practice.


Contribute your Thoughts:

0/2000 characters
Nida
2 days ago
Surprised to see D) as an option, that’s not a good practice!
upvoted 0 times
...
Rosalind
8 days ago
C) seems extreme, why not just upgrade?
upvoted 0 times
...
Goldie
13 days ago
I disagree, B) can work too, but it's risky.
upvoted 0 times
...
Lashawnda
18 days ago
A) is definitely the way to go!
upvoted 0 times
...
Beckie
23 days ago
Editing the chart files directly seems risky to me, so I would lean towards option A. I think I read that modifying source files can lead to inconsistencies.
upvoted 0 times
...
Lucia
28 days ago
I feel like deleting the release and reinstalling it, like in option C, could lead to downtime, which is something we want to avoid. But I can't recall if there are specific scenarios where that might be acceptable.
upvoted 0 times
...
Reed
1 month ago
I remember practicing a question where using kubectl edit was discouraged because it doesn't track changes in Helm. So, I feel like option B might not be the right choice here.
upvoted 0 times
...
Dick
1 month ago
I think option A is the best practice since it keeps the release history intact, but I'm not entirely sure if there are any drawbacks to using the --set flag.
upvoted 0 times
...

Save Cancel