▬▬▬▬▬▬ T I M E S T A M P S 0:00 - Intro 0:11 -YAML is popular 0:36 - What is YAML? 1:13 - Why learn YAML? YAML Format compared to XML and JSON 2:37 - YAML Use Cases 2:52 - YAML Syntax 2:56 - key-value pairs 3:56 - comments 4:18 - objects 5:31 - lists 5:51 - boolean 6:21 - more about lists 8:48 - Real Kubernetes YAML Configuration Example 11:54 - Multi-line strings 15:15 - environment variables 16:07 - placeholders 16:42 - multiple yaml documents 17:17 - YAML and JSON in Kubernetes ▬▬▬▬▬▬ Useful Link 💡▬▬▬▬▬▬ Code Editor Plugin for Visual Studio Code (supports YAML validation, auto completion, formatting etc): github.com/redhat-developer/vscode-yaml 👉🏼 For any questions/issues/feedback, please leave me a comment and I will get back to you as soon as possible. 👉🏼 Also please let me know what you want to learn about DevOps. Please don't forget to subscribe and give me a thumbs up if you liked my video 🤓
I believe the video contains a mistake about environment variables (15:15). The variable expansion is performed by bash, yaml does not recognize the $VAR syntax as anything special, it just sees it as a normal string
I dont mean to be so offtopic but does someone know a trick to log back into an Instagram account?? I somehow lost the account password. I would love any tips you can give me
I never get tired of listening to your tutorials. you explain things in detail. the most important thing in your tutorials and that makes them special is you start giving historical declarations at the beginning like why it was introduced in our IT world. To me, it is a very very important element of any tutorial. knowing why it was introduced.
Super simplicity of teaching YAML. Never thought that someone can easily teach YAML in 17-18 minutes and the audience also able to learn in such a short and sweet time. You are awesome in all these short videos and it really helps in learning things very quickly. Keep up your good videos
I usually learn quietly and move on but on this ocassion I just couldn't resist leaving a comment. You are just too good. You are by far, my number one Docker/Kubernetes instructor on TH-cam. This is awesome material I would gladly pay for, if it was put up for sale. I hope you have a financially rewarding time out there consulting for massive organisations with these awesome skills and knowledge.
Thank you, I really appreciate your comment! especially that you can see the efforts behind my free content which take up so much time each week 🙉 Actually I am creating my first online course because as you said the effort should pay off, so that I can continue creating the free content on youtube.
@@TechWorldwithNana i couldn't agree more with the commentator of this thread this is my first time on your channel and me being new to learning aws you're explanation of yaml is really beneficial yet concise. Please keep us posted on where we can buy your course once it's completed you've got a subscriber in me 👌🏾💯
Also, instant sub. What a refreshing experience to have a creator hop straight into the topic. These days it seems like I need to fast forward 90% of videos
The dash in the ">-" symbol at 15:36 is a "block chomping indicator". From the specification: "Stripping is specified by the “-” chomping indicator. In this case, the final line break and any trailing empty lines are excluded from the scalar’s content."
I agree this was wonderful and simple to follow. I wonder, however about two things. It seems as if the concepts of environment variables and placeholders are parser specific. It doesn't seem to be a part of the core YAML syntax. I understand that it is used when describing Kubernetes deployments but the title of this video says nothing about a specific use case for YAML. I explored this using the canonical `pyyaml` Python package and confirmed that, out-of-the-box, it doesn't understand these concepts. It treats a "$" prepended string as a normal string and actually raises an exception when an unquoted string is used starting with "{{". These are obviously valuable concepts for a particular use case, like K8s but should be clearly denoted as not something you'll find in a basic YAML parser. I'm open to feedback on if I have misunderstood this concept. Thank you, nonetheless!
I just started to watch your content and... woooow. The quality is fantastic, the knowledge is incredibly valuable and the way you explain it is just super simple. Love it!
Thank you Nana! I was honestly terrified of thinking I couldn't understand YAML quickly, but you made it so much clear and easy to understand. I learned this much quicker than JSON!
Wow you just blew my mind with the mutiple components in a single YAML file! Thanks for your video, this was insanely helpful for me and you're a great teacher!
NANA I just stop to listen your voice. So neat , so engaged. Thank you for making such videos it is definitely helping me to move forward in my career.
YAML has one idiosyncrasy regarding list indentation that I don’t really like, but whichever you choose - be consistent. You can even see this variation in how list indentation can be expressed at 8:09 (happens to me a lot by accident, too). So, apparently with YAML lists, you can actually put the dash/hyphen at the SAME indentation level as the parent. You just have to ensure that the first attribute (e.g. “app” in your example) and all other attributes under it are still indented by the same amount (e.g. if you’re using 2 spaces for indentation, the dash takes up one space, then one space after that, then the first attribute). Then subsequent attributes are _also_ still indented with 2 spaces relative to the parent. It’s more dense and even if you’re using normal 2 space indentation, it’s more of a subjective decision: Which do *you* choose? E.g. When you conceptualize a list, does the list itself start indented at the dash or is it’s indentation location dictated by the list contents? 🧐
Thank you teacher for valuable teachings, I really gained knowledge with your outstanding teaching capabilities just for free of cost, I can jast say happy thanks for you.
Thanks for this tutorial. All the concept are explained very well. There are many videos on DevOps tools but no one talks about YAML, YAML syntax etc. I appreciate your efforts.
Thanks a lot for sharing! I've always had difficult to understand Docker-Compose files due to YAML, until today. It's totally clear for me now, because your practical examples contextualized well the theory. Amazing!
Thank you for this awesome tutorial, I was very confused between yaml and json but after watching this tutorial, now I can able to write conf files using yaml.
Thanks a lot for the video. Amazing. One tiny thing that wasn't mentioned is the difference between > and >- as seen in your example. I believe >- will remove the trailing new line at the end of the single line
Superb explanation. Carrying these doubts for many months, now got cleared about the yaml indentation. Thank you. Expecting more videos with same clarity. Have been watching your channel continuously.
Someone else mentioned this, I just want to clarify. Environment variables are not covered in the YAML documentation because YAML doesn't directly do anything with them in its syntax. In your example, the reason that it works was because that YAML config file was being used by a tool that was taking that line and sending it to a command shell. The $VARIABLE syntax worked because that's the syntax for that shell. However, if that was being interpreted by Command Prompt on Windows, it would not work (because it's not YAML interpreting it, but the shell)... so it would then need to be changed to %VARIABLE%.
Best tutorials on youtube. The moment I have a doubt/question, you always clear that up the next second (e.g. different indentation levels). So clear, concise, practical, and packed full of knowledge. Thank you!!!
me sirvio de mucho, te agradezco y aunque no se mucho ingles la verdad encontre en un blog alfgo similar lo que me ayudo aun mas a conocer el lenguaje ya que quiero aplicar esto para una certificacion con docker y kubernetes, saludos desde Mexico
p.s.s. I’m _pretty sure_ that the environment variable you’re referencing at 15:52 is still _technically_ interpreted as a literal string in the context of YAML (what we’re talking about). So, the YAML parser is still pulling out and seeing the literal value “$MYSQL_ROOT_PASSWORD”. It’s once it gets passed into the “/bin/sh” interpreter that will see that and then look at the current environment variable table and then the *sh* binary will interpolate the value that it has on hand for the key signified by the dollar sign _at that_ point. I think. This just matters because maybe you might think that, for example, you’re placing this in a YAML config and you expect the command you’re _currently_ running to inject/substitute/interpolate that variable from the _current_ scope but what really happens is that it is passed literally to whatever thing you’re configuring (e.g. a kubernetes readiness probe) that will interpret a *different* value at runtime from the context of _that_ container and not right now when you’re issuing the command (and configuring your deployment).
Thanks for creating this video, I use notepad++ a lot, apart from coding I use it for documentation too, I was looking for some simple solution to fold block of sentence / lines so thought this would be the best option
Great video with very clear explanation. Looks like you skipped a few other features like anchoring and type conversion. I would have also liked to hear about what happens to comments and multi sections ("---" feature) when YAML is converted to JSON. Thank you for teaching us!
Awesome Video ! Love the way how you explain ❤️ can you pls make videos: - how to create secret and add to your deployment config - how to start writing a deploymentConfig for a app - ConfigMap (when we need it and how to config it) - how to bring a application on OpenShift, step by step. For example Jira to OpenShift - detailed explanation of a deploymentConfig - explain config of PV/PVC
Hi, thank you for your feedback and all your suggestions!! :) Did you already check out my Kubernetes Playlist? th-cam.com/play/PLy7NrYWoggjwPggqtFsI_zMAwvG0SqYCb.html I cover already many of your mentioned topics. Except Openshift
Mam your concepts are so good and you explain everything with its purpose and in detail. Thank you so much for making your channel, may it grow to millions of subscribers. Just keep going like this and explain every devops tool
Hi Shubham, thank you so much for your comment. This is really motivating, happy you think so 🙏 🙂 That's exactly my plan to explain many many more devops tools, which are extremely helpful for you guys 😇
Thanks, Nana for the smooth explanations. You're a great teacher! I have a doubt: at 15:40 Line number 5 you have typed >- You have explained uses of > and - separately but how should they be interpreted together?
I am Big of fan of ur content.Please keep sharing your videoes. Also I request you to make any make any content on CKA exam which will be very helpful who are pursing their CKA exam including me.
▬▬▬▬▬▬ T I M E S T A M P S
0:00 - Intro
0:11 -YAML is popular
0:36 - What is YAML?
1:13 - Why learn YAML? YAML Format compared to XML and JSON
2:37 - YAML Use Cases
2:52 - YAML Syntax
2:56 - key-value pairs
3:56 - comments
4:18 - objects
5:31 - lists
5:51 - boolean
6:21 - more about lists
8:48 - Real Kubernetes YAML Configuration Example
11:54 - Multi-line strings
15:15 - environment variables
16:07 - placeholders
16:42 - multiple yaml documents
17:17 - YAML and JSON in Kubernetes
▬▬▬▬▬▬ Useful Link 💡▬▬▬▬▬▬
Code Editor Plugin for Visual Studio Code (supports YAML validation, auto completion, formatting etc): github.com/redhat-developer/vscode-yaml
👉🏼 For any questions/issues/feedback, please leave me a comment and I will get back to you as soon as possible.
👉🏼 Also please let me know what you want to learn about DevOps.
Please don't forget to subscribe and give me a thumbs up if you liked my video 🤓
Really useful with timestamps
@@kalankaraivilakkam Thanks for confirming, I thought so :)
I like how you did indentation with the time stamps
I believe the video contains a mistake about environment variables (15:15). The variable expansion is performed by bash, yaml does not recognize the $VAR syntax as anything special, it just sees it as a normal string
I dont mean to be so offtopic but does someone know a trick to log back into an Instagram account??
I somehow lost the account password. I would love any tips you can give me
I never get tired of listening to your tutorials. you explain things in detail. the most important thing in your tutorials and that makes them special is you start giving historical declarations at the beginning like why it was introduced in our IT world. To me, it is a very very important element of any tutorial. knowing why it was introduced.
Thanks so much, really appreciate your positive feedback! :)
comprehensive but concise, and well structured content makes the comprehension so easy. so far the best yaml tutorial I have found
Super simplicity of teaching YAML. Never thought that someone can easily teach YAML in 17-18 minutes and the audience also able to learn in such a short and sweet time. You are awesome in all these short videos and it really helps in learning things very quickly. Keep up your good videos
Thanks so much Jude, really happy to hear that!! :)
Nana, you are a no nonsense person. Thank you for explaining details of YAML in less that 20 minutes.
I usually learn quietly and move on but on this ocassion I just couldn't resist leaving a comment. You are just too good. You are by far, my number one Docker/Kubernetes instructor on TH-cam. This is awesome material I would gladly pay for, if it was put up for sale. I hope you have a financially rewarding time out there consulting for massive organisations with these awesome skills and knowledge.
Thank you, I really appreciate your comment! especially that you can see the efforts behind my free content which take up so much time each week 🙉 Actually I am creating my first online course because as you said the effort should pay off, so that I can continue creating the free content on youtube.
@@TechWorldwithNana i couldn't agree more with the commentator of this thread this is my first time on your channel and me being new to learning aws you're explanation of yaml is really beneficial yet concise. Please keep us posted on where we can buy your course once it's completed you've got a subscriber in me 👌🏾💯
@@TechWorldwithNana Pls share here when you've the course :)
The best and most straight-to-the-point tutorial for YAML introduction I have ever seen. Thank you for your time and effort to cut to the chase!!!
She's pretty much the best explainer of _any_ technical topic, not just yml.
Also, instant sub. What a refreshing experience to have a creator hop straight into the topic.
These days it seems like I need to fast forward 90% of videos
The dash in the ">-" symbol at 15:36 is a "block chomping indicator". From the specification: "Stripping is specified by the “-” chomping indicator. In this case, the final line break and any trailing empty lines are excluded from the scalar’s content."
I wish I could like this video twice. This is the second time I am coming back to this video. Thank you Nana!
Needed to learn this for an internship this was such an easy, quick, and well done tutorial!!
I agree this was wonderful and simple to follow.
I wonder, however about two things.
It seems as if the concepts of environment variables and placeholders are parser specific. It doesn't seem to be a part of the core YAML syntax. I understand that it is used when describing Kubernetes deployments but the title of this video says nothing about a specific use case for YAML.
I explored this using the canonical `pyyaml` Python package and confirmed that, out-of-the-box, it doesn't understand these concepts. It treats a "$" prepended string as a normal string and actually raises an exception when an unquoted string is used starting with "{{".
These are obviously valuable concepts for a particular use case, like K8s but should be clearly denoted as not something you'll find in a basic YAML parser.
I'm open to feedback on if I have misunderstood this concept.
Thank you, nonetheless!
I just started to watch your content and... woooow. The quality is fantastic, the knowledge is incredibly valuable and the way you explain it is just super simple. Love it!
Thank you so much Attila, I appreciate your feedback very much 🙂
Nana your explain things in a simple and comprehensive approach. Thank you very much!
It will helpful to devops guys, most of my colleagues who are into infrastructure think that yaml is a programing language.
Please share the video with them :D
Probably best video on Yaml to kick start.
Thank you Nana! I was honestly terrified of thinking I couldn't understand YAML quickly, but you made it so much clear and easy to understand. I learned this much quicker than JSON!
Wow you just blew my mind with the mutiple components in a single YAML file! Thanks for your video, this was insanely helpful for me and you're a great teacher!
Really happy to hear Ash, thank you for your comment! :)
NANA I just stop to listen your voice. So neat , so engaged. Thank you for making such videos it is definitely helping me to move forward in my career.
best tech teacher in TH-cam! qq to anyone, newbie here, at 10:55, isn’t “ports” here a “list of objects” instead of just a “list”? ty
YAML has one idiosyncrasy regarding list indentation that I don’t really like, but whichever you choose - be consistent. You can even see this variation in how list indentation can be expressed at 8:09 (happens to me a lot by accident, too).
So, apparently with YAML lists, you can actually put the dash/hyphen at the SAME indentation level as the parent. You just have to ensure that the first attribute (e.g. “app” in your example) and all other attributes under it are still indented by the same amount (e.g. if you’re using 2 spaces for indentation, the dash takes up one space, then one space after that, then the first attribute). Then subsequent attributes are _also_ still indented with 2 spaces relative to the parent. It’s more dense and even if you’re using normal 2 space indentation, it’s more of a subjective decision: Which do *you* choose? E.g. When you conceptualize a list, does the list itself start indented at the dash or is it’s indentation location dictated by the list contents? 🧐
Very well explained. All YAML concepts in JUST 18 Mins. Appreciate your effots
Thanks, glad to hear :)
Nana, you are outstanding in Teaching , Simple and Best . Many Thanks
Thank you teacher for valuable teachings, I really gained knowledge with your outstanding teaching capabilities just for free of cost, I can jast say happy thanks for you.
Thanks for this tutorial. All the concept are explained very well. There are many videos on DevOps tools but no one talks about YAML, YAML syntax etc. I appreciate your efforts.
Just want to say, god bless you nana for all this great content
You are just awesome Nana.
You always know that what the viewers are looking for and hence you just deliver that...
so much content in just 18 min . Simple but effective - thanks a ton.
Thanks a lot for sharing! I've always had difficult to understand Docker-Compose files due to YAML, until today. It's totally clear for me now, because your practical examples contextualized well the theory. Amazing!
Great to hear that my video is so valuable and helpful for you! :) Thanks so much for your feedback Giovanni 🙏
It is becoming a hobby to watch these tutorials, very useful - Thanks!
I'm really pleased by this introduction which is comprehensive and clear. It's worth every minute.
Thank you.
I'm really happy you think so, thanks so much! :)
The perfect tutorial to get the basics of yaml and to start the docker and kubernetes tutorials. Thank you and keep it up creating good content.
Thank you for this awesome tutorial, I was very confused between yaml and json but after watching this tutorial, now I can able to write conf files using yaml.
As a new dev to devops I find your channel very useful! Thank you and keep up the great work!
I am very new to the whole devOps environment, and your tutorials have, are and (hopefully) will help me a lot. So, a big thank you from me.
I am glad I spent 30min of my time watching this. It's so simple, until you're told what is going where. Thank you for this Nana. :)
Thanks a lot for the video. Amazing. One tiny thing that wasn't mentioned is the difference between > and >- as seen in your example. I believe >- will remove the trailing new line at the end of the single line
Superb explanation. Carrying these doubts for many months, now got cleared about the yaml indentation. Thank you. Expecting more videos with same clarity. Have been watching your channel continuously.
Wow happy to hear that I could help in clarification :) Thanks a lot Karthick!
Most useful YAML tutorial for DevOps engineers. Appreciate the effort.
Thanks a lot Siddharth, really happy to hear it's useful for you guys :)
People are talking good about your tutorials, so let me try u up. I c here so far so good!
Thankyou Nana I have watched a few videos on YAML structure and this is easily the best on TH-cam
This tutorial was Awesome 👏. Thank you Nana . I learned a lot from your channel .
Someone else mentioned this, I just want to clarify. Environment variables are not covered in the YAML documentation because YAML doesn't directly do anything with them in its syntax.
In your example, the reason that it works was because that YAML config file was being used by a tool that was taking that line and sending it to a command shell. The $VARIABLE syntax worked because that's the syntax for that shell. However, if that was being interpreted by Command Prompt on Windows, it would not work (because it's not YAML interpreting it, but the shell)... so it would then need to be changed to %VARIABLE%.
Best explanation of YML ever, thx
I like this tutorial: No drama, Straight to the point with real examples! Thank you! Now back to your docker tutorial. (Already Liked and Subscribed).
Thanks Joseph!! :D
Best tutorials on youtube. The moment I have a doubt/question, you always clear that up the next second (e.g. different indentation levels). So clear, concise, practical, and packed full of knowledge. Thank you!!!
Awesome, thanks for this short, handy and clear introduction to YAML
This is fantastic explanation Nana. Thank you so much for this content.
That was a really clear and to the point explanation, really appreciate it.
you never stop surprising me , thanks for your lessons!
Thank you, Nana! wow, this feeling of understanding is incredible
me sirvio de mucho, te agradezco y aunque no se mucho ingles la verdad encontre en un blog alfgo similar lo que me ayudo aun mas a conocer el lenguaje ya que quiero aplicar esto para una certificacion con docker y kubernetes, saludos desde Mexico
Excellent explanation Nana. Keep up with this videos. You're the best!
Thank you for all these videos Nana, they have been so helpful!
What a great explanation....Nana, you are great.
p.s.s. I’m _pretty sure_ that the environment variable you’re referencing at 15:52 is still _technically_ interpreted as a literal string in the context of YAML (what we’re talking about). So, the YAML parser is still pulling out and seeing the literal value “$MYSQL_ROOT_PASSWORD”. It’s once it gets passed into the “/bin/sh” interpreter that will see that and then look at the current environment variable table and then the *sh* binary will interpolate the value that it has on hand for the key signified by the dollar sign _at that_ point. I think.
This just matters because maybe you might think that, for example, you’re placing this in a YAML config and you expect the command you’re _currently_ running to inject/substitute/interpolate that variable from the _current_ scope but what really happens is that it is passed literally to whatever thing you’re configuring (e.g. a kubernetes readiness probe) that will interpret a *different* value at runtime from the context of _that_ container and not right now when you’re issuing the command (and configuring your deployment).
Just wanted to make sure that there is such a comment here :)
Better than those 1hr video tutorials.
Thank you for the good Tutorial, a clear good understandable voice makes so much of a diffrence !
Professionally created video. Well done.
Thank you Kat for your feedback! :)
Clear, simple, very informative. Thank You !
Thanks for creating this video, I use notepad++ a lot, apart from coding I use it for documentation too, I was looking for some simple solution to fold block of sentence / lines so thought this would be the best option
I like your tutorials and this is all explained in an easy to understand way. 👍
Great video with very clear explanation. Looks like you skipped a few other features like anchoring and type conversion. I would have also liked to hear about what happens to comments and multi sections ("---" feature) when YAML is converted to JSON.
Thank you for teaching us!
Awesome Video ! Love the way how you explain ❤️ can you pls make videos:
- how to create secret and add to your deployment config
- how to start writing a deploymentConfig for a app
- ConfigMap (when we need it and how to config it)
- how to bring a application on OpenShift, step by step. For example Jira to OpenShift
- detailed explanation of a deploymentConfig
- explain config of PV/PVC
Hi, thank you for your feedback and all your suggestions!! :) Did you already check out my Kubernetes Playlist? th-cam.com/play/PLy7NrYWoggjwPggqtFsI_zMAwvG0SqYCb.html
I cover already many of your mentioned topics.
Except Openshift
Nana thanks very simply explained for a noob like me
Your explanation is amazing... Thank you very much ..
1:56 JSON requires double quotation for mapping keys. This example is Object in JavaScript, actually.
Helpful video, clear explanation, many thanks for your effort.
really love the way you structure the tutorial and all the visual cue really helps in understanding the concept easily.
Thanks for the intepretation, very clear and helpful. Learn a new tool, YAML.
You are gem in explaining any concept, great content. Good work!
Amazing tutorial! Thank you for your wonderful explanation!
Best teacher for me
VERY NICE!!! Clear & thorough. On to your "Kubernetes YAML File Explained "
Mam your concepts are so good and you explain everything with its purpose and in detail. Thank you so much for making your channel, may it grow to millions of subscribers. Just keep going like this and explain every devops tool
Hi Shubham, thank you so much for your comment. This is really motivating, happy you think so 🙏 🙂 That's exactly my plan to explain many many more devops tools, which are extremely helpful for you guys 😇
Thanks, Nana for the smooth explanations. You're a great teacher! I have a doubt: at 15:40 Line number 5 you have typed >- You have explained uses of > and - separately but how should they be interpreted together?
Was going to ask this too. It means no line break at the end.
You describe concepts as clear as yaml format...😄
Haha thanks Ankesh 😁
Thanks for the very clear and nuanced video!
Danke! Das war genau der überblick den ich gerade gebraucht habe. Super erklärt!
Danke Mike, das freut mich zu hören! 😊
Super fantastic explanation and organisation!!! Subscribed after watching the first video 🤩
Thank you 🤗
Thanks a bunch for the crisp clear video.
Always on point and I learn a lot from your vids. Thank you Nana
Nice explaination and good to hear XML json yaml comparision.
Wow. This was really well structured and very informative. Thank you so much for it. Good job.
Thanks a lot Claus, really happy to hear! Check out my other videos as well :)
This is an excellent video on Yaml. Thanks a ton.
Really Nice and clear Explanation with real world examples
Glad you think so, thank you Avinash :)
finally I understand YAML !! , great explanation !!😁😁 Thank you Nana !! 👍😁
Cool glad it was so helpful 🙂👍
this is sooo good and well explained! thanks Nana!
Thanks. Really great review and refreshher for the rules of yaml.
Very clear. Thank you Nana for this tutorial
Thanks for this video. It's an excellent tutorial on YAML!
Thanks Nana teacher. This is best yaml sample!
your videos are very good and have a wide message thank you
Thank you Nana!! Very well explained and usefull to implement generics in my scripts
One of the best videos available on the internet on YAML. Keep up the good work NANA. :)
Wow thank you so much Pravata! 🙂
Excellent, very intuitive.. much appreciated 👍
Awesome tutorials, also the way you explains every bit of it in detail, really thankful.
I am Big of fan of ur content.Please keep sharing your videoes.
Also I request you to make any make any content on CKA exam which will be very helpful who are pursing their CKA exam including me.
Glad to hear you are fan of my content! Thanks for your suggestion, will take it on my long long list :)
@@TechWorldwithNana Thanks for considering my suggestion. Hope you will come with gud content again
Thank you Nana, very well put together
Excellent. Simple and easy to understand. Thank you!
You're welcome, glad you liked my teaching style :)