8:55 , I got this error ``` Error: UPGRADE FAILED: cannot patch "mydeployment" with kind Deployment: Deployment.apps "mydeployment" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app":"myhelmapp", "tier":"frontend"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable ``` had to delete and create a new helm release
Hi! That was an amazing and well done created very very cool video. A really liked it! Of course I am going to look around your videos and probably will find a solution what I am looking for...but as you mentioned at the end of your video...let ask you... Question would be: is it possible to manage more than one pod (with one container), for example manage 5 pods with one helm? I mean under the 5 different pods, that all pods have unique containers inside, like one for backEnd, one for UI, one for monitoring, one for DB, etc... Thanks again your excellent video, and thanks for your answer!
In Helm version >=3.2.0 version, you can create the namespace by passing the `--create-namespace` flag with helm command if not present. Hope this helps someone.
I have the same question. I guess it’s just getting the service name to do port forward. It’s not printing an output so really don’t understand the purpose.
Just FYI. I noticed changing any part of the config map and running "helm upgrade" didn't trigger a redeployment. Only doing "helm uninstall" and only "helm install" will display the new content
thanks for pointing this out. you can manually restart the pods as well and they will get the new config map values. You can also use something like Kustomize and it takes care of configmap rolling for you.
Awesome video... I have a question though. What if you have multiple deployment files with different files for their values (tier=frontend, tier=backend), would one not override the other since the have same key but different values?
@@DevOpsJourney Would it be possible to create the backend deployment and its values.yml file and deploy it in a namespace, and then create a frontend configuration with it's own values file and deploy as well?
the github doesn't contain up to date info. For example, the readme doesn't show the servicename and kubectl commands. I tried manually entering them but they don't work . I get "k: command not found" Edit: I realized it's because you have k as an alias for kubectl
Hey There. You should create separate Helm charts for each microservice and use a single Helm chart called a "Helm Chart Aggregator" to manage the deployments of all 25 microservices. This Helm Chart Aggregator will allow you to deploy, manage, and configure the 25 microservices with a single command. You also might see some benefit with using Kustomize, especially if you have multiple environments. Also if you are managing so many microservices, you may want to look into ArgoCD. Cheers and good luck!
@@DevOpsJourney my app consist of hybrid environment bare metal and azure cloud and it needed to deploy on customer data center i am thinking of using terraform and ansible to make cd on customer data center and azure cloud.
You can store functions and templates in there that your other resources may commonly make use of. It's for more advanced helmcharts - I rarely use it.
Hi, this was a great video to watch for better understanding of Helm. I need to create a helm chart that will deploy MongoDB into kubernetes cluster. Do you know any articles or videos I can follow to help me with this?
@@a55tech haha it is! but sometimes different architectures cause problems :) I rebuilt the image to support M1 devices so it should work for you now! For those interested - I had to rebuild the image using `docker buildx` with the `--platform` argument.
I have watched a lot of Helm tutorials but this is the only one so clear to me. Thank you. Very much appreciated!
Definitely the best helm tutorial on youtube at the moment. Many many thanks
Definitely an incredibly comprehensive and insightful guide to creating Helm charts!
Precisely how Helm needed to be explained, thank you.
Hands down the best crisp to the point helm tutorial in TH-cam.. subscribing right away
Thank you for nice tutorial :)
also suggestion for content about helm charts, helpers.tpl would be also nice topic :)
best tutorial ever on actually showing the need and power and good practices of using helm!
Excellent video. Thank you for making this content. It is truly helpful for getting up to speed with helm.
My pleasure!
8:55 , I got this error
```
Error: UPGRADE FAILED: cannot patch "mydeployment" with kind Deployment: Deployment.apps "mydeployment" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app":"myhelmapp", "tier":"frontend"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable
```
had to delete and create a new helm release
Helm seemed very difficult until I checked this video. Thanks a lot !!
The best tutorial for beginners.
I learned so much from this video.. Thank you for sharing your knowledge with us.
Thanks, short and very informative! not sure if you have a video on helm packaging the chart to a url.
Great tutorial, very straightforward and right to the point! Bravo! Thank you for your work!
Precise and crisp, truly wonderful.!! many thanks to you my friend!!
Nice hands on tutorial, man. Thanks you.
Lovely and best explanation of custom helm Thanks sir❤🙂
awesome Helm Chart explains than over another course. Recommend.
Excellent tutorial. Best I've seen yet.
Thank you, very clear explanation of helm ❤
Been trying to learn helm casually for years. I feel like I understand it now
Hi!
That was an amazing and well done created very very cool video. A really liked it!
Of course I am going to look around your videos and probably will find a solution what I am looking for...but as you mentioned at the end of your video...let ask you...
Question would be: is it possible to manage more than one pod (with one container), for example manage 5 pods with one helm? I mean under the 5 different pods, that all pods have unique containers inside, like one for backEnd, one for UI, one for monitoring, one for DB, etc...
Thanks again your excellent video, and thanks for your answer!
Thanks for the great tutorial! Simple to understand, picked it up immediately! :)
thank you so much. Hope you have more video like it
In Helm version >=3.2.0 version, you can create the namespace by passing the `--create-namespace` flag with helm command if not present. Hope this helps someone.
what is the purpose of showing servicename before the kubectl command if you are not using it?
I have the same question. I guess it’s just getting the service name to do port forward. It’s not printing an output so really don’t understand the purpose.
Awesome video ❤
nice video mate . learned a lot . Keep it up
Reaching out just to say thank you for the awesome video.
You are AWESOME! Thanks a lot for sharing this :)
Super easy to understand : ) . Thanks so much 👍
Very clear and to the point.
pretty clear, thank you for your efforts
minikube tunnel doesnt seem to work with docker driver on wsl.. ?
can you create a video on Kubernetes Gatewat API, replacement of k8s ingress controller?
Hi , How can I access kafka deployed in kubernetes from offshore explorer?
great introduction !
At least now i know basic helm stuff if nothing much ...thanks !! 🙂
Thanks so much for the video. If working with EKS, do I still need to run the port forwarding command?
im using k3s local setup and it doesn't comes with command minikube tunnel. How to expose external ip? please help me thanks!
Kubectl proxy command is the equivalent of minikube tunnel. You could also look at configuring an ingress resource
Good stuff man. Subscriber earned!
best explanation ever!
Just FYI. I noticed changing any part of the config map and running "helm upgrade" didn't trigger a redeployment. Only doing "helm uninstall" and only "helm install" will display the new content
thanks for pointing this out.
you can manually restart the pods as well and they will get the new config map values. You can also use something like Kustomize and it takes care of configmap rolling for you.
This was VERY helpful, thank you!
What type of shell do you use? Thanks
Windows terminal, with zsh
Magnificent tutorial, thank you
Awesome video... I have a question though. What if you have multiple deployment files with different files for their values (tier=frontend, tier=backend), would one not override the other since the have same key but different values?
Yes they apply in the order you specify them
@@DevOpsJourney Would it be possible to create the backend deployment and its values.yml file and deploy it in a namespace, and then create a frontend configuration with it's own values file and deploy as well?
@@stephenenyidede1125 yes, I'm not 100% clear on exactly what you are deploying, but I can guarantee you the flexibility is there.
raised a simple PR. Please check. This is a nice intro for helm templating
the github doesn't contain up to date info. For example, the readme doesn't show the servicename and kubectl commands.
I tried manually entering them but they don't work . I get "k: command not found"
Edit: I realized it's because you have k as an alias for kubectl
Nice and Sweet. Thank you.
Excellent video. Thank you for making this content!!!!
outstanding video, the best video to explain helm charts
Thank you so much sir ............from bottom to heart sr
best helm tutorial, thanks you
How to get values updated from one chart to another chart
best tutorial.thank you so much
The best tutorial
very good video. easy to understand concepts
Very well explained. valuable !!!
Great tutorial i need to deploy 25 microservice should i use 1 helm for 1 microservice or each helm for every micro service.
Hey There. You should create separate Helm charts for each microservice and use a single Helm chart called a "Helm Chart Aggregator" to manage the deployments of all 25 microservices. This Helm Chart Aggregator will allow you to deploy, manage, and configure the 25 microservices with a single command.
You also might see some benefit with using Kustomize, especially if you have multiple environments.
Also if you are managing so many microservices, you may want to look into ArgoCD.
Cheers and good luck!
@@DevOpsJourney my app consist of hybrid environment bare metal and azure cloud and it needed to deploy on customer data center i am thinking of using terraform and ansible to make cd on customer data center and azure cloud.
Just awesome!
Thank you!! I learned a lot!!
When you run "helm install" how does helm know where to deploy the stuff? Like in which cluster?
It uses your kubeconfig context, same way as kubectl
Also you can use labels
Bruh this was so good
Thanks very nice explanations 😊
Sir, what is the use/purpose of helpers.tpl file.
You can store functions and templates in there that your other resources may commonly make use of. It's for more advanced helmcharts - I rarely use it.
thanks for the basics
Hi, this was a great video to watch for better understanding of Helm. I need to create a helm chart that will deploy MongoDB into kubernetes cluster. Do you know any articles or videos I can follow to help me with this?
Glad it was helpful! Sorry I don't have any recommended articles
I get benefits. Thanks a lot.
It looks like just a piece of cake now. Thanks anyway. I never thought it would be this easy. 😃
Perfect!
Yah Thanks a lot it is clear and simple
Thanks
easy cheesy video , such clear explanations
Excellent👍
Awesome thank you so much.
Nice video, thanks
Well done
cool , very good thanks
So usefull ,Thanks.
great one
Thank you so much...
Lovely!
Subscribed 🎉
Many many thanks
I don't know why all TH-camrs made it feel so hard
I have also same dout
They want to make it obscure 😂
Mannnn why I couldn't run into this sooner😩
Wonderful video. I hope you also have tutorial for using helm chart from public repo and overriding it with new values.yaml file
the deployment no longer works, pods in crashloop backoff
I'll have a look. Btw are you on a ARM processor like Mac m1 or raspberry pi?
Yup M1 MBP @@DevOpsJourney
Yup M1 MBP, thought purpose of containers was to work on any platform but guess not lol@@DevOpsJourney
@YH-ok8kdI have fixed the issue for m1. I rebuilt the image to support multiple architectures. Let me know if it fixes your issue!
@@a55tech haha it is! but sometimes different architectures cause problems :) I rebuilt the image to support M1 devices so it should work for you now!
For those interested - I had to rebuild the image using `docker buildx` with the `--platform` argument.