 Thank you all for being here. I see so many faces that I don't know, and this is very, very exciting. So I had a lot of people actually come up to me and say, why is this talk on Thursday afternoon at KubeCon? Why don't we start out with this talk? And I think that's actually OK, because in this talk, I'm just hoping to share some of the strategies that worked for me when I was starting with Kubernetes and when I was new. And just sharing some of the resources and things that you can try, hopefully, and maybe you can take away something that is useful to you. Can anyone hear me back in the back? I get a really good, awesome, fantastic. So first, about myself, I'm going to be a stanger. I work at Samsung SDS, and I work on tools for Kubernetes. I am very new not just to Kubernetes, but also to programming. I had a bit of a non-traditional entry to programming. And I attended bootcamp style coding school for a year, and now I'm working full-time as a developer at Samsung. This is what I used to do for a living. So very, very different. This picture is also a little bit of a lie. Any musicians in the crowd? Because if you're trying to make a living as a musician, you also have to teach. My point in sharing this is that we all come from different backgrounds. We all come from different places. There are people at my company that have been programming for 15 years. And when they started, they came up to me and said, hey, so how does KubeLit work? And I could tell them at least a little bit to get them started, and that's a really great feeling. So I think I hope that in this talk, many of you can walk away with different things that work for you for where you're at. I also want to talk a little bit about Ada Developers Academy and wearing the shirt. It is a, like I said, it's a coding bootcamp. It aims to diversify the tech sector by offering year-long training for women and non-binary people. And the best part about Ada Developers Academy, in my opinion, is that if you attend, your internship is baked in. You will spend five months at a tech company doing a practical internship, gaining experience. And my internship happened to be at Samsung SDS, where I am now a full-time employee. So maybe in Kubernetes was just a sting that happened. Last year, this time, I had no idea what Kubernetes even was. I did not know how to pronounce Kubernetes. I am actually really happy that I work with Kubernetes now, because I love this community. I love everyone being here. I like seeing smiles and supportive people. And I've just had so many good experiences just here at KubeCon. So I'm really, really excited, and I hope you are too. So if you are here today, a lot of you have probably been doing the beginner track. Yes? Excellent. This morning, Amy Chen from Heptio gave an awesome less than five minutes roundup of the Kubernetes parts and components. And I could never do it that well, so I will not try. You've probably been told a lot of, you know, this is what Kubernetes is. These are the components. This is how they go together. And when I got that talk my very first time, I walked away and I understood nothing. I was so confused. What happened was that my internship company came to my school and said, oh, we do Kubernetes. We're sort of like the plumbers of the internet. And that's what I remember from the talk. That is literally all I remember. Actually, I remember one more thing. There were two other interns along when we were given this talk. And they said, hey, listen up. If you people don't understand any of this, that's OK. Neither did we five months ago. And that's actually something that I want to hold on to for you to remember as you continue on your Kubernetes journey. So I show up at this internship. My Ada Developers Academy is a web development-based program. So I'm doing Ruby on Rails and JavaScript and deploying front-end apps. And I show up at Samsung and all of a sudden, I'm having to build Kubernetes. And it is very different. So for me, what works really, really well is explanations are great, but I really like drawing it out. And so these are the things that I did first. And here are some resources that I will share with you. They are available on the internet. So this is really just about what worked for me. And I also have a slide at the very end that has all the links in one place. So you don't have to go looking for the individual slide. So the very first thing I did was do the Kubernetes Basics tutorial. It is available on the Kubernetes website. And it is absolutely wonderful because what you do is you show up, you go to the tutorial, and it has explanations on one side and a little terminal simulator on the other side. And you can play around with this terminal and enter commands and try out all the things that the left side is explaining to you. And it will act like a terminal, but you have to do nothing. You don't have to install anything. You don't have to understand anything. You follow the instructions. And you just kind of play around with it. And then as you do so, you will read the explanations. Maybe you look up another word or two, and you keep learning. So the next thing that I did was, OK, now I tried out some stuff. I'm ready for a little bit more of a course. There are some Kubernetes resources for just online courses available. This is the one that I started with because the Linux foundations one wasn't out yet at this time when I learned. But it's good video tutorials. And what's really, really great about it is that it introduces you to G Cloud, which is one of the most approachable ways, in my opinion, to bring up your first Kubernetes cluster if that is what you want to do. The next big thing, yes, I know. I know, go read the manual. But exploring the docs is actually really, really great. The main thing that you have to know about the Kubernetes docs is that there are two really, really important key sections. There's the Concepts section, and then there's the Reference section. And when I started looking at the docs, I confused one for the other. I was looking at the concepts, and they were great, and they explained all the things. And I thought I was looking at the Reference because I didn't know that there also was Reference. Here's what that looks like. This is the Documentation Home page. This is also where you will find tutorials and more instructions on how to get started. And here's the Concepts page. And what's really great is that the concepts are kind of one giant tutorial, less on the practical side, but it will give you examples. It will describe what all the Kubernetes parts are. Here's a list of the components. And it is very well organized, and it comes with explanations that are fairly human-readable, I would like to think. And then there's the Reference Documentation. So what happened to me at work was I'm looking at the concepts, and I'm stealing the example configuration file and using it on my pod. And then one of my coworkers says, oh, why don't you add this key value pair to your configuration file? And I'm like, where do you get that? I don't understand. Can I do that? How do you know I can do that? And he says, it's right in the docs. I'm like, I looked at the docs. I'm telling you. Anyway, he was looking at the reference, and I was looking at the concepts. Just be aware, looking like docs. This is kind of what you expect, but I didn't know. So any questions so far? Confusion? No? All right. There will be time for questions at the end. So please, if you have them, please do think of questions and ask. I hope there will be time for questions. I do tend to talk a lot. So now, after being exposed to all these tutorials and concepts and reading through and learning more about it, a really great way to get back to the basics is to get a quick reference. This particular resource was very nice for me because as you can see, even just on the right side, it has the contents, all the things you heard about, cluster, pods, labels. And what's awesome about it is it's got a little visual. This is actually animated on the actual website. So go check it out. Play around with it. Another awesome resource is the kube-cuddle cheat sheet. I'm one of those people that says kube-cuddle because I like the way it sounds. The cheat sheet is nice for when you're using kube-cuddle, the cheat sheet is also nice if you forget what particular Kubernetes resource you are thinking of at any given time because it has all of them in an awesome list. Here's the most common resources just as an example, which is so useful. And then it has a list of resource types. There's more resource types than these. I just blew it up so that you would be able to actually hopefully read it. All right, still confused, right? Who's still confused? Awesome. So at this point after you're here because you want to learn more about Kubernetes and you're putting in all this work and you're like, it's still so confusing. But anyway, that's how I felt. You don't have to feel this way. But again, I just want to make everyone realize that the confusion after exposing yourself to all these concepts is completely different to the confusion that you have when you're just starting out, when you don't even know what it is. So I just want to encourage everyone to own their confusion and to let your confusion lead you to asking questions. And chances are, you are not the only ones with those questions. One thing that I did was I made a vocabulary list. Every time I saw a new concept, I would chuck it in my vocabulary list and I would try my very, very best to find out what those things meant. Sometimes I would literally just write down the definition right there just so I had it because there's so much stuff that I kept. I have a terrible memory, so I just kept forgetting things. This is what my vocabulary list looks like. It's just a simple sheet and I had name, description, and possible things of interest. One thing that I did do, because remember, my training was in web development and I showed up and did a DevOps type of thing with Kubernetes, I actually didn't know really what bash was. I thought bash was my terminal that I wrote commands in and so people kept talking about bash scripts and I'm like, so that's when you type in your terminal, right? And now it turned out that's wrong and so one of the entries in this list is bash, which is both a shell and a command language. I know that now. Like I said, we all come from different places and I'm sharing this to hopefully speak to some of you that are from different backgrounds and would like to feel more comfortable being different. So and the final thing to really, really get comfortable with all these concepts is to just try it out yourself. These are the four basic steps. I really, really wish I could point you at a tutorial that does these four steps from beginning to end. There are, like I said in the comment, there are some, but they are very, very tool specific and I will try my very best hopefully when I have the time to come up with a tutorial like this because it would have been very, very helpful to me. So you have all these questions, right? How do you get a human to help? There's many ways. First off, if you haven't joined the Kubernetes Slack yet, you should send in, get an invite, go to the link. It's very, very easy. What you should know about the Kubernetes Slack is that there are many channels and the more close, it will be much easier for you if you can find a channel that is related to what you are working on because the more, how do you say that? The more specific your question and the more specific the group that deals with that kind of question, the easier it will be for you to get an answer and people are generally really, really responsive. The particular example here is my org's Kubernetes Slack channel and we really love seeing new faces and respond like that because we wanna hear from you about our awesome open source tool. It's crack and I will talk about that a little bit later. The traditional place to go for questions I have learned with Stack Overflow. Kubernetes is a little bit more difficult to get help on Stack Overflow with just comparing the numbers on the top are the Kubernetes related questions and on the bottom you see that the Ruby related questions are on a scale of difference that just makes it really, really hard to find your answers. So that doesn't mean don't go to Stack Overflow. Please go to Stack Overflow, ask all your questions and answer all the questions. The more we have, the better for everyone. Just as an example, these are the two most frequent questions on Kubernetes in Stack Overflow. Just the number of answers that you can see on the top two questions kind of gives you an idea of what it's like. One great way to get your question answered is Kubernetes office hours. George Caster runs them and they are fairly new this year. So, oh, hi George. I didn't see you come in. Anyway, he's great. And it is, this is a great way for you to just get your question out there and have it answered by a real human, George. For me, often a straight up Google search has given me the best results. Most of the results will be GitHub issues or pull requests, that's okay. So, I'm just walking you through what happened when I followed this question to GitHub. Oh, I see a closed issue. Excellent, maybe this got solved. Well, sometimes... But in this case, this is a good example because, oh, I'm interrupting myself, yes. So, GitHub is not really the place to ask your Kubernetes related questions. I have seen issues that were opened where someone walks in and says, hey, can you actually ask this question on Slack because this isn't really the place. But sometimes it happens that this is an actual issue, issue. And so, you will find that either there is a workaround, a common workaround, and you can figure this out. Or it is something that has been solved in the next version or a lot of the time, again, you're not the only one with this problem, maybe. So, GitHub is a great resource for that. I also posted this particular answer because I really like that people in this community are comfortable responding to messages with emojis on GitHub, which always seems to me to be very, very serious, but it's nice that people are comfortable and just put smiley faces and hearts on things when they like something. That's maybe just me. So, and I know you're saying, okay, okay, great. So, there's a lot of web resources to ask my questions. How do I get an actual face-to-face human? You're here, so, great job. You're here, that's your first step. And hopefully, you've met lots and lots of people that you can connect with and ask questions and you can always come up to me or anyone, I'm sure, is more than happy to help you out and point you in the right direction. There's the Kubernetes Community Meeting, which is open to everyone. This is just a link, go check it out. It's a weekly meeting that is online, it's an online video meeting. And people do presentations and they talk about the community in general. And it's a fairly good resource for once you're a little bit more comfortable with Kubernetes because then the talks will actually start making sense to you. I tried this my first couple of weeks working with Kubernetes and it didn't work and I had to give it a rest and wait a few months. Again, my experience, not necessarily yours. Attend a meetup. We have a Kubernetes meetup in Seattle because, well, it's Seattle and we're lucky that way. However, there are Kubernetes meetups all over the world and you should attend one of them if you can. If there is not a meetup nearby, you can also start one and I believe the Linux Foundation will give you support if you want to undergo such an endeavor. And Paris, who is also here in the back, gave me permission to use her name. If you want to start a meetup and you want the meetup starter package, which is currently being reworked, Paris will help you out. She told me this, so I trust her. And then go old school. Find someone in your town that works on Kubernetes and maybe has a bit more experience or maybe wants to swap ideas and ask them for coffee. All they can say is no. This has not been my experience. My experience has been, yes, of course, I'd love to chat. Again, because we are all at different places and we're all doing different things. If you are already at a place where you're pretty comfortable with the basics of Kubernetes and you want to learn more, I have some recommendations. My top recommendation is a certified Kubernetes administrator exam. And I want to encourage everyone to not think of it as an exam and really not think of it in terms of certification. Those are great things, but really, what's great about the Kubernetes administrator exam that it comes with a study guide, openly available on GitHub, and it has all the topics that the Kubernetes community believes you should know in order to be able to talk about Kubernetes. Use the study guide. The best resources that I found to prepare oneself for this exam. Oh, yes, you may have heard this morning at the keynote talk as well that this is not a multiple choice exam and there really isn't a course that teaches to the exam. You are really expected to know your stuff and when you take the exam, you are going to work on an actual Kubernetes cluster and manipulate its parts. And it's pretty hard, but also really, really useful in terms of studying. One way to prepare yourself for part of the exam, again, there's not really a course that teaches to the exam, but this course is actually kind of basic and does actually touch a lot of the things that come up in the exam. This is a more recent course that wasn't available to me when I started out, but it's a good one, I took it. Then there's Kubernetes the hard way, which I know Kelsey was joking about that this morning, but at this point in my learning, I didn't really perceive it as very hard because it is very, very step by step, do this first and do this, make sure to do this. You can walk through the instructions step by step and you can almost blindly follow them and you will still pick up knowledge on the way. It starts up by going over the prerequisites. It tells you how much this is going to cost you. It walks you through the tools you need to install to do this tutorial and then it will show you how to bootstrap your own cluster parts and this was, for me, this was my first experience with system D units and I didn't even know that that's what they were, but I learned them as part of this tutorial. So speaking of system D units, I do not have a computing background, well, or I didn't. I don't know how that works exactly when you get to say I now have a computer. Anyway, for me, Linux is really, really hard and it is very, very unapproachable because the people who are familiar with Linux have basically been doing Linux since they were two months old and they don't remember what it's like to not know Linux. Sound familiar? Okay, good. I'm not the only one, yes. Now the nice thing about Linux is that Linux is actually much more common than Kubernetes to this day so you will actually have a much easier time finding humans that will help you out. You can ask them and then when you have a human you can be like, no, no, no, I really don't understand. I just, I don't know. I show up to these Linux tutorials and they're like, we assume that you have already knowledge about this thing and this other thing and I'm like, no, no, I don't. I did find two articles that really helped me specifically with Kubernetes. They're from DigitalOcean. I didn't even realize that they were here as they have a booth downstairs. It's great. General Control will get you your logs on your Kubernetes nodes and System Control will find you the actual unit parts with which you built your Kubernetes cluster. If this doesn't make sense to you right now, I promise you it will after you do Kubernetes the hard way. So Samsung made me take the Kubernetes administrator exam because we needed to have a certain number of people pass the beta exam in order to get a certified Kubernetes provider status, I believe. Anyway, they basically threw everyone in the office at this and we all got to study together, which was great. It was an awesome opportunity but the exam itself was pretty grueling. It took four hours. You had to sit in a room all by yourself and there was the threat of having to retake that if you failed the first time. Like I said, I'm really, really new to this. So I said, okay, I'll do it and I learned a lot. So the taking exam felt pretty terrible. This is actually a picture of me doing a mud run. But it did pass the exam. I got the results back in a couple of days and I couldn't believe it. This ties again a little bit with the whole idea of getting comfortable with your confusion because I was convinced that I did not know enough about Kubernetes in order to pass the exam. But it turned out, apparently I did. So keep that in mind as you learn more and keep trying to make it a positive force for you and you're learning development. You're learning goals and as you learn more. Keep in mind you probably know more than you think you do. So what do I do currently? Currently, like I said, I work at Samsung. Our product is called Kraken. Kraken is basically a way for companies with large code bases to deploy their code base with Kubernetes and what Kraken does, it brings up large high accessibility cluster according to specifications. We have a core configuration that can be altered according to your needs. It can also run on multiple providers and this is the tool that I'm working on. It is highly configurable and it is a lot of fun to work with. And again, Kraken is open source and getting to work on it is basically just an extension of working on Kubernetes in general because it's out there and it basically makes Kubernetes more approachable for other people. Just last week I recommended Kraken as a tool for people in my coding school who are currently writing their capstone projects and I said you can use Kraken to deploy your app with Kubernetes if that's what you want to do for your project, it's that usable. I also sort of slipped into contributing to Kubernetes upstream. Which has been amazing and exciting and I'm not really going to talk a whole lot about it because that's a talk of its own. But if you want to get involved in the community, everyone is welcome. This newcomer was welcome, very welcome. And this particular link is a good place to get started. As with a lot of open source projects or so I've been told, a lot of the time stuff can be a little bit unorganized and if you come in there and you're like, I'm so confused, keep in mind, everyone is friendly, everyone is going to be willing to help you out. And also if you see something that you don't like, go ahead and fix it. We wouldn't love that. Now is the time for questions and I think we have quite a, I think I timed it just right. We have lots of question time. Yes, yeah. Fantastic. Let's see. Yeah, let's see, how can we share this? Cool. Go talk to this man and ask him for his cheat sheet because I'm not showing you my computer back, I have no idea what's open right now. Yes. That's an awesome question. So actually this is one of the things that Samsung did really, really well because they had had interns from my school before and they'd had a bit more experience about what we knew and what we didn't know and the way my onboarding worked was that I had to learn about basic pure Kubernetes first and then at the end of my onboarding I was going to use our internal tool, well open source internal tool to bring up a cluster. So yeah. Okay, so it is the list. Let's see, off the top of my head, it is awesome if you know your way around GitHub. You need to be able to know Git. Bash scripting has been really important at least at my job. I actually have used relatively little go-laying so far but that will hopefully change soon. Other than that, the great thing about Kubernetes is that when you write an app you can use any language you like to write it. Oh, absolutely and then you do have to be familiar with putting it in a container. Using Docker or similar container services is really, really useful and helpful. Any more questions? Let's see, what is that? Why go away? So this is how you can get in touch with me. If you're like, oh, yay. Yes, please. I would say that totally depends on your project. Honestly, what I would try to do if I could just have a project in a vacuum and deploy it on a cluster, I would try and play around with the sizes of my machines and figure out what is the load that my app needs and how to customize my cluster so that I'm not wasting any resources. And I think there's tools for that as well but like I said, I'm learning so if anyone knows of something like that, please share. Five minute warning and yes, George. I'm sensing that this is a leading question somehow. So in general, personally I've felt that most places in this community are reasonably safe. When you say contributor experience, there actually is a contributor experience slack channel on the Kubernetes slack and newcomers are welcome and you can ask your questions there. If you're having trouble contributing, getting started with contributing or you're encountering a hitch with the process, that is a great place to ask your questions and because we want everyone to contribute, we kind of have to be nice to you because that's just sort of what would be the point otherwise. There's also, actually when I made my first contribution, I ran into trouble with my Linux account because it somehow had my work email but my GitHub email was different and this is a very, very common problem for a lot of people. So I sent an email to the Linux Foundation help desk and I was like, okay, that's it. I'm gonna work on something else until tomorrow because, and I got an answer back within 20 minutes. And after that, my follow-up questions almost, it was like almost a chat. They are very responsive and super awesome and I am so sorry because I forgot their name, the person who helped me out but again, don't be afraid to ask for help and find all the contacts and even if it's just, hey, who would be a good person to ask this question? You might be, you know, your question might be passed around, that's okay. Other questions? Well, oh yes. These slides are actually posted with us talk so they are totally available. I think there's a couple more, yeah. Here's the reference links. They're grouped sort of by relevance or level, getting started, getting into it a little bit more and how to contribute, where to ask questions and how to meet humans. And I do have a thank you slide. Thank you, KubeCon for having me. This was my first tech conference ever and I'm so excited that I hopefully, that I got to share my experience with you and I really hope you all got something out of it and a place to start and a good spot to find what you need and where to start and maybe who to ask for help. And special things to Aaron who totally left so I can't embarrass him in public. Oh, whatever. Anyway, Aaron Crickenberger works in my office and he has been very, very helpful in this entire journey and with this KubeCon experience. I'm Patrick who can't be here but is my mentor and support person at work. So, and thanks everyone for being here and being such a nice audience.