The course is part of these learning paths
Course Introduction and Overview
Production and Course Conclusion
This course provides an introduction to how to use the Kubernetes service to deploy and manage containers.
Be able to recognize and explain the Kubernetes service
Be able to explain and implement a Kubernetes container
Be able to orchestrate and manage Kubernetes containers
This course requires a basic understanding of cloud computing. We recommend completing the Google Cloud Fundamentals course before completing this course.
Hello and welcome back to the Introduction to Kubernetes course for Cloud Academy. I'm Adam Hawkins and I'm your instructor for this lesson.
This is the last lesson in the course, so if you've completed all the lessons, then I congratulate you, my friend. If you're coming here just to see what we actually cover in the course, then I also hope that you find what you're looking for. Regardless of who you are or where you came from, in this lesson I'm recapping the high-level learning objectives and providing you with next steps in your Kubernetes journey.
I think we have covered a lot of ground together. We started with theory and thanks for being patient with me, by the way, the technical basics and built it all the way up from a single container application to scaling and deploying multi-container multi-tier applications. We've learned Kubernetes vernacular; N-tier deployments with service discovery; manual and automatic service discovery; triggering, pausing, resuming and undoing deployments; monitoring containers with probes; persistent data storage, preparing pods with init containers; secrets and environment variables; production best practices and most importantly and one of my personal favorites, preparing you for production. These learning objectives should give you the confidence to start deploying applications with Kubernetes.
So now that you know what to do around Kubernetes, what should you do next? Well, a great place to start is to create a cluster. The best way to really learn a new technology is to get down and dirty setting it up. Kops is a great place to start. You can switch to GKE once you feel comfortable or even to others if you feel comfortable. Hopefully you followed along throughout the lessons. If not, then creating a cluster and completing the exercises is just the ticket for you.
I also suggest trying out other orchestration tools. Who knows, maybe you'll like DCOS more than Kubernetes. Check out Docker Swarm as well. Remember to evaluate other options before making a decision and ultimately learning more about the other tools will make you a more well-rounded and informed engineer.
I suggest you convert your application to Kubernetes. We did a little bit in the course, but I recommend taking an application that you know well and modeling it for Kubernetes. This will eliminate some unknowns from your evaluation and help you find different solutions to already existing problems. You can even try Compose if you have an existing Docker Compose application. Also try Helm if you want something you can share with others.
Also you need to read, watch and learn. The official Kubernetes guides are a fantastic, fantastic supplement to this course. They provide more information on use-cases and functionality. The guides are a great abstract overview. I suggest you also watch the previous KubeCon videos. This will help you get a handle on how people are using Kubernetes in the field, plus the cool stuff the ecosystem is up to.
And finally, get involved. Join the Kubernetes Slack team. This is the best place to be if you are even remotely interested in Kubernetes or the ecosystem. You can also look up meet-ups and conferences. Kubernetes is changing rapidly. Staying involved and talking with others is the best way to succeed with any rapidly changing technology. Kubernetes is no exception. Realistically you'll need to do a mix of all of these things to round out your Kubernetes experience. Pick and choose the ones that make the most sense for you.
My final word of advice is to focus only on stateless applications and stay away from stateful applications, especially in production. Kubernetes was specifically designed for stateless container applications. Stick to this path for the best experience.
So, my friend, that's all I have to share with you. I've had a great time building this course. I hope this course helps you be a more happy and productive engineer. Remember that I'm always available for questions on the Cloud Academy community forum or on the K8s Slack channel. Don't hesitate to find me and fire off your questions. I'm more than happy to help you out. So good luck out there and happy shipping.
About the Author
Adam is backend/service engineer turned deployment and infrastructure engineer. His passion is building rock solid services and equally powerful deployment pipelines. He has been working with Docker for years and leads the SRE team at Saltside. Outside of work he's a traveller, beach bum, and trance addict.