► Reference to YAML Configs: gitlab.com/nanuchi/kubernetes-tutorial-series-youtube/-/tree/master/configmap-and-secret-volumes 0:13 - Configuration Files usages in pods 1:13 - ConfigMap and Secret creating individual values (key-value pairs) for env variables 2:40 - ConfigMap and Secret creating files for mounting them into the pod 14:44 - Summary 👉🏼 For any questions/issues/feedback, please leave me a comment and I will get back to you as soon as possible. Please don't forget to subscribe and give me a thumbs up if you liked my video 😊🙏
I have been watching some of the k8s videos. The animated diagrams and the way each sucbject is approached makes complex topics look simple. Tha's a rare talent right there.
Wow, thank you for this comment! Glad you think so. If you want to support me, please share my video to people who are interested in learning k8s or devops in general. Would be very helpful :)
after watching lots of devops toturials, everything is becoming a lot more easier. thanks for our great youtube content creators like Nana and others...
Thank you Naina! what an amazing tutorial and you got the greatest acumen to explain complex things. Kubernetes is no monster to me now after watching your videos. Thanks for being magnanimous and sharing your videos which are worth gold. God bless you!
I have always struggled to get a clear understanding of the use cases of configMap and secret but thanks to you for making it so simple to understand and remember.
Great vedieo. Learned a lot from you. Thanks Nana. It looks like you have used a wrong screenshot at 16:13. while you used the top left with kind/configmap, you use kind/secret for using env variable case.
Few questions: 1. Can you delete a configmap then deploy a new one while a pod is still running or using it? 2. Can you change something in a configmap while it is being used by a running pod? will the pod detect the changes in the configmap?
@@TechWorldwithNana , Many thanks for the excellent videos. I found your explanations to be very useful. Have you finished/posted detailed videos for local and remote volumes, explaining the Yaml files? If so, can you please share the link?
thank you! This helped me solve a problem with keycloak and realm-export.json. Does the overwrite create the file if the file doesn't exist, or does it simply overwrite what is already there?
Very good explanation. Please suggest if I have store these secret and configmap files in a separate secure location instead of keeping them with deployment files then how to put it in the deployment file..
Thank you so much, I learned a lot through these devops videos also could you help me understand if we can pass Configmap metadata name as variable if it’s dynamic in deployment pods.. along with keys.
I've gone through a lot of videos of yours pertaining to kubernetes and they've been really good and easy to understand. But i have one question here. If the requirement of a config file is known well before hand, is it better to bake it in the docker image while creating or is use of configmaps recommended ?
ConfigMaps may change often, if you change the endpoint names, add new ones or change some config details. So by having it outside of docker image, you don't have to rebuild the image. Also you can pass the config map or secret to diff applications, if they both need the same service.
HI Nana, Excellent Video & Nice the way of presentation. Thanks for your time for this. I just have one query on this. in POD definition file under spec: volumes, is it mean volume will create? and the files mosquite-config & secret-file will store on base machine?
Great explanation! One question: can we change the value of configmap mountes as a volume? I mean if i add a line into the file mosquito.file from one pod, will i be able to see it from another pod ? Thanks
What about versioning those files? I mean: For example, I have my code with a k8s folder with some files like: deployment.yaml, service.yaml, config.yaml... My question is: Do I must to add a secret.yaml file to the repo versioning? Thanks and your videos are so cool
That's a very good question Wladimir. Regarding versioning of secret files, of course they shouldn't be checked in to the repository with other config files. So they are created locally, on the server itself or from your local machine where you execute kubectl commands. You can try to keep the history locally and/or on the cluster node, if others need access too.
@@TechWorldwithNana Excellent. Thank you for your reply. I'm doing exactly what you are saying. Let me congratulate you again, your channel, your videos are very useful and a great resource. Thank very much!
Thanks Nana for your incredible video, I’ve a small question please How can I create that data: secret.file and how it’s equal to the secret data: params I don’t know how make them equal each other ?
Hi Nana, suppose i am already having a json file in my container, I just need to replace a certain value in that file. What will i do in that scenario?
No. That's the difference with configMap and secret. You don't need PV and PVC with them. They persist independent of the pod, so when you restart the pod, it will get remounted every time, so you don't lose the data. you can also use the same configMap and secret in multiple pods. For example if you have 5 pods that all need a client certificate, you create one secret and mount it in every pod. Does it clarify your point?
Grt tutorials Nana. Could you explain difference between secret and config map, except the data is encoded in secret as base64.... anyone can get the secret using 'kubectl get secret "secretname" -o yaml' and decode from base64, Is there any other key difference that iam missing?
I am applying the same mosquitto-config-components.yaml from your repo. I can see the Secret generated for mosquitto to use . But when i logged into the mosquitto pod, I do see /mosquitto/config but not the /mosquitto/secret directory. Any debugging step that can help. No errors on kubectl apply or kubectl pod
if the pod only has one and only one container running, we will access that that container. If the pod has >1 containers running, it will prompt an error to specify the container to access with a -c flag
Wonderful video! At 7:34 you show the format of the config-file.yaml file. When I do the same, I get separate files; one for each key versus all keys and values being stored in mosquitto.conf What could I be doing wrong? Have K8 changed since this video? Thanks.
Hi, I want to have a fixed number of pods in K8 and each pod will have slightly different configuration, I want this because I want to divide the work among each pods, is there a way to do this ? Thanks in advance.
► Reference to YAML Configs: gitlab.com/nanuchi/kubernetes-tutorial-series-youtube/-/tree/master/configmap-and-secret-volumes
0:13 - Configuration Files usages in pods
1:13 - ConfigMap and Secret creating individual values (key-value pairs) for env variables
2:40 - ConfigMap and Secret creating files for mounting them into the pod
14:44 - Summary
👉🏼 For any questions/issues/feedback, please leave me a comment and I will get back to you as soon as possible.
Please don't forget to subscribe and give me a thumbs up if you liked my video 😊🙏
what will happen if we delete file from volume from container ,will it be deleted from pod too ?
I signed up for java but they are also giving me work related to devops. This video is a life saver.😅
Nana the life saver of kubernetes developers
I'm glad that you think so Raja 😅 Thanks for the support. Please don't forget to subscribe and share. 🙂
No doubt, when we talk about kubernetes your channel is the best
I have been watching some of the k8s videos. The animated diagrams and the way each sucbject is approached makes complex topics look simple. Tha's a rare talent right there.
Wow, thank you for this comment! Glad you think so. If you want to support me, please share my video to people who are interested in learning k8s or devops in general. Would be very helpful :)
after watching lots of devops toturials, everything is becoming a lot more easier. thanks for our great youtube content creators like Nana and others...
Thank you Naina! what an amazing tutorial and you got the greatest acumen to explain complex things. Kubernetes is no monster to me now after watching your videos. Thanks for being magnanimous and sharing your videos which are worth gold. God bless you!
best channel to learn K8s. Explanation is simple and can easily be remembered. Brilliant!!
Thankful for the opportunity to help Pallav. Your compliment is much appreciated. 😇
Best video on configmaps on TH-cam, thx!
I have always struggled to get a clear understanding of the use cases of configMap and secret but thanks to you for making it so simple to understand and remember.
You're welcome Aditya. Wishing you all the best in your career. Stay safe. 😇
I play her vids as comforting BGM while I code other stuff :)
What a wonderful explanation - Must know concepts explained in very simple way. Well done :)
Thank you so much for this video. I constantly come back to this and refer a few things.
Thank you so much for this vedio, from some days i m struggling on this topic and today your vedio appear like miracle to me♥️♥️♥️♥️♥️♥️
You're welcome, really glad to hear that they helped you :)
You are an amazing presenter. Good work.
Grateful for the appreciation Saravana. 😅
Thankyou so very much ankita, this video lecture was like a walk on snow you made it just so easy. Keep it up!!
Thank you for the encouragement Jaspal. Just the little things that I need to fuel my passion. Much appreciated. 😇
Putting a like before even watching., 👍👍👍
Thank you, the best explanation of this subject i found.
Thanks Nana for this tutorial. I find it very useful and Appreciate your good job.
Thanks Nana for the explanation and implementation
Very straightforward and useful tutorial
this video was lifesaver for me thanks for these quality content
Congratulations🎉
For 1 M
Great video Nana, tks so much for share this knoledge with us !!
It became so much clear after watching your video. Great explanation! Thanks for sharing.
La mejor explicación! te amo!
Great vedieo. Learned a lot from you. Thanks Nana. It looks like you have used a wrong screenshot at 16:13. while you used the top left with kind/configmap, you use kind/secret for using env variable case.
Very helpful, thanks Nana!
Waiting for your other videos on different volume types.
I love kubernetes. Just recently been doing some videos on it on my channel
I always learn something new thanks to you 🙏
Great, good to start with basics
Wonderful Video Nana ❤❤
perfectly explained.. really helped me all doubts ... youuuuu rocks !!!!
thank you
you are awesome Nana!
Few questions:
1. Can you delete a configmap then deploy a new one while a pod is still running or using it?
2. Can you change something in a configmap while it is being used by a running pod? will the pod detect the changes in the configmap?
WoWwwww thank you so much. You are simply great. I asked the content and you have recorded.😍😍😍😍😍
Thanks Murali :)
Thanks Nana. that was a great explanation
This was amazing demonstration of config map.
excellent explanation!
I love this video. I learn from a detailed explanation. Thank you so much!
Thanks nana, you r genius, beauty with brain, such an extraordinary person. Thanks a lot. Grat work keep it up ❤❤
Thanks for your beautiful explaination.please make and upload videos on statefulsets.
Hi Mohammed! Thank you, yes I will make a separate video about statefulSets. Turn on the bell to get notified and don't miss new videos :)
You are great at explaining concepts. Keep it up!!
Thank you Sandro :)
nice walk through of Vol and Secret. Looking forward to learn about local volume as i got 'node affinity conflict' error on mac using docker-desktop
Thanks, video will come soon!
@@TechWorldwithNana ,
Many thanks for the excellent videos. I found your explanations to be very useful.
Have you finished/posted detailed videos for local and remote volumes, explaining the Yaml files? If so, can you please share the link?
Its nice lecture am the fan of u, the way u r taking in to the topics keep on
Thank you Deepak, glad you like my teaching style :)
Great video, really helpful!
Thanks Ian. 😇
Awesome. It's an easy to understand concept. Do you have full courses in udemy?
Very well explained
great and simple explanation
super explanation
Thanks 🙂
Very good and precise tutorial!
Thank you so much :)
Thanks .it is very helpful
You're welcome Jayashree.😇
simplicity ! as usual awesome.
Guys please show some love on the comments, remember all this Kubernetes training is well made and besides it is free
thank you! This helped me solve a problem with keycloak and realm-export.json. Does the overwrite create the file if the file doesn't exist, or does it simply overwrite what is already there?
excellent example!!! it's possible use this volumeMount to declare envs, using cat /secret/secret.file?
Thanks for the great explanation!
Is there a way to mount a single file, like in docker or does it work only for directories
Hi Nana, will spring boot be able to pick up application.properties file from /config location. Thanks for video
Hi Nana, How to use configure Centralised configuration by using configmap in the kustomization.
Thanks a lot! I love your videos!
Happy to see that you watch all my videos :) Thanks for that!
Very good explanation. Please suggest if I have store these secret and configmap files in a separate secure location instead of keeping them with deployment files then how to put it in the deployment file..
Nicely explained
Thanks, glad to hear!
Hi nana, which software are you using to create these animations?
Thank you so much, I learned a lot through these devops videos also could you help me understand if we can pass Configmap metadata name as variable if it’s dynamic in deployment pods.. along with keys.
Awesome orchestration!! I wanna marry you😁
😅
Hi Nana, thank you for your videos they're incredible. I was wondering if you had a demo video for local persistent volumes?
High quality education videos! Thank you for your great work ^^
I've gone through a lot of videos of yours pertaining to kubernetes and they've been really good and easy to understand. But i have one question here. If the requirement of a config file is known well before hand, is it better to bake it in the docker image while creating or is use of configmaps recommended ?
ConfigMaps may change often, if you change the endpoint names, add new ones or change some config details. So by having it outside of docker image, you don't have to rebuild the image. Also you can pass the config map or secret to diff applications, if they both need the same service.
@@TechWorldwithNana Thank You!
Hello Nana,
Great course ,Is it possible to mount kubeconfig file this way ,so that the PODs can access them .I have a use case with that
Can you please explain where do the symlinks that the newly sourced files via the configmap and the secret point to?
HI Nana,
Excellent Video & Nice the way of presentation. Thanks for your time for this.
I just have one query on this.
in POD definition file under spec: volumes, is it mean volume will create? and the files mosquite-config & secret-file will store on base machine?
Thank you so much for this video, can you also explain about ConfigMap generator to configure secrets & Certificates from json file
Hi Bhavyasree! You're welcome. Hopefully we can add that to the pipeline. Appreciate the support. 🙂
Thanks for this. Is there a way to make them (configmap and secret) persistent?
Great explanation! One question: can we change the value of configmap mountes as a volume? I mean if i add a line into the file mosquito.file from one pod, will i be able to see it from another pod ? Thanks
Thanks Sabri. No, you can't change configMap value from the pod.
What about versioning those files? I mean: For example, I have my code with a k8s folder with some files like: deployment.yaml, service.yaml, config.yaml... My question is: Do I must to add a secret.yaml file to the repo versioning? Thanks and your videos are so cool
That's a very good question Wladimir. Regarding versioning of secret files, of course they shouldn't be checked in to the repository with other config files. So they are created locally, on the server itself or from your local machine where you execute kubectl commands. You can try to keep the history locally and/or on the cluster node, if others need access too.
@@TechWorldwithNana Excellent. Thank you for your reply. I'm doing exactly what you are saying. Let me congratulate you again, your channel, your videos are very useful and a great resource. Thank very much!
clean tqsm
What is best practice to separate development (local development) and production (k8s) ?
Thanks Nana for your incredible video,
I’ve a small question please
How can I create that data: secret.file and how it’s equal to the secret data: params I don’t know how make them equal each other ?
you are the best!
Hi Nana, I just wanted to ask if do you have module for AWS parameter store for eks??
Hi Nana, I don't understand the point of secrets if I have access to secret manifest and can decode it?
Hi Nana, suppose i am already having a json file in my container, I just need to replace a certain value in that file. What will i do in that scenario?
Thanks Nana did you create a persistent volume and pvc for this example I know in real world if the container gets restarted we lose all data ?
No. That's the difference with configMap and secret. You don't need PV and PVC with them. They persist independent of the pod, so when you restart the pod, it will get remounted every time, so you don't lose the data. you can also use the same configMap and secret in multiple pods. For example if you have 5 pods that all need a client certificate, you create one secret and mount it in every pod. Does it clarify your point?
@@TechWorldwithNana Absolutely 👌
Hi Nana, is it possible to create secret specification for creating secret from file, not from command line with --from-file attribute?
Grt tutorials Nana. Could you explain difference between secret and config map, except the data is encoded in secret as base64.... anyone can get the secret using 'kubectl get secret "secretname" -o yaml' and decode from base64, Is there any other key difference that iam missing?
Hi Nana,
Is there a way to append contents to the .conf file instead of overwriting the whole file?
Hi Nana, how to use the existing seal secrets with the new API
seal secrets
When you write kubectl exex and then pass the --/bin/sh what is that? It is the entry point for the container meaning it will start the shell ?
I am applying the same mosquitto-config-components.yaml from your repo. I can see the Secret generated for mosquitto to use . But when i logged into the mosquitto pod, I do see /mosquitto/config but not the /mosquitto/secret directory. Any debugging step that can help. No errors on kubectl apply or kubectl pod
Is it unsafe to encode secrets in base64?
When we do exec -it, are we getting into the pod or the container? A pod may have multiple containers.
if the pod only has one and only one container running, we will access that that container. If the pod has >1 containers running, it will prompt an error to specify the container to access with a -c flag
@@zarakikun1 That's what I thought. Thank you very much.
I tried this in Openshift it didn't work. Do you have any suggestions?
Wonderful video! At 7:34 you show the format of the config-file.yaml file. When I do the same, I get separate files; one for each key versus all keys and values being stored in mosquitto.conf What could I be doing wrong? Have K8 changed since this video? Thanks.
Thanks nana🥳
You're welcome :)
Hi, I want to have a fixed number of pods in K8 and each pod will have slightly different configuration, I want this because I want to divide the work among each pods, is there a way to do this ? Thanks in advance.
awesome video!
Hey it’s great video 😀
Thanks, glad you like it :)
Excellent!!!!
hey Nana, they released XML for k8s, please talk about that