Secondly , For deploying container images to kubernetes , we generally made deployment config(yaml files) ..
Now, these may different for staging and development environments . and with some new feature there may come some system environment variable , which needs to be present in yaml .
My question here is .
1. How yaml are managed , for example , manual efforts required if these is some change in yaml .
2. How it can be made automated .
I would try to explore https://kustomize.io/ instead of helm because of the server client architecture that does not allow for a secure RBAC cluster. Using helm essentially gives root to helm on your cluster. Although there are efforts in Helm 3.0 to change this architecture we are not there yet. Kustomize allows you to convert helm charts to kustomize format and it even has built-in functionality in kubectl in K8S 1.14.0
use helm, k8s package manager. helm will let you define a separated set of values for your environments (thanks @xun for pointing that out)- development, canary, production etc, and use them in a single yml chart, which will be generated into a kubernetes regular .yml
file.
helm will also let you share and use deployment-ready charts from the helm hub and the chart museums.