Kubernetes is flourishing in the open-source community. In fact, there’s rising demand (and growing salaries) for professionals who know this open-source platform for automating deployment, scaling and management of containerized applications and workloads.
Could your career and paycheck use a boost? Here’s a list of resources and tips for mastering some of this platform’s basic concepts.
Background and Prerequisites
Understanding the basic concepts behind virtualization and how containers work (or experience with Docker containers) is the perfect foundation, noted John Starmer, director of Education at Kumulus Technologies. Knowing Linux and command line interface (CLI) helps too. Otherwise, you’ll miss out on some of the functionality available via the command line.
Alternatively, having full-stack experience, including knowledge of running code in production, will suffice. Experience with managing storage, database and tracing/monitoring applications may also be helpful, depending on the size of your team and complexity of the application.
Looking to the future, familiarity with the Container Runtime Interface (CRI) is likely to become more important as Kubernetes implements CRI.
Learn the Basics
There are a wide variety of approaches and resources available for learning the basics.
Starmer suggests that beginners start with free courses such as Katakoda or Kubernetes Boot Camp. From there, advance your education by following the steps in the official tutorials on Kubernetes Docs. If book learning fits your schedule and learning style, check out “Kubernetes Up and Running.”
If you’d like to get certified, Kris Nova, senior developer advocate at Heptio, recommends Certified Kubernetes Administrator (CKA), an online course created by the Cloud Native Computing Foundation (CNCF). Kumulus Technologies also offers hands-on focused training geared towards CNCF certifications.
Heptio, which is headed by two of the founding engineers of the Kubernetes project, offers public online Kubernetes training. Practitioners who prefer self-paced training can tune in each Friday for a weekly installment of “TGI Kubernetes” hosted by Nova or Joe Beda. Or catch a weekly one-hour deep dive into a range of topics, including Kubernetes 101, new technology and releases; info on live events and videos can be found on the firm’s YouTube channel.
To find other training options, check out this comprehensive list of resources on GitHub titled “Awesome Kubernetes.”
Learn Essential Tools
While the complexity of your use case will dictate what additional tools you need to learn on your journey to mastering Kubernetes, Starmer calls Helm a must-learn, and recommends that developers become familiar with Draft.sh.
Acquire Hands-On Experience
Running an old application in Kubernetes is a valuable way to learn, acquire hands-on experience, and demonstrate your expertise to potential employers. Alternatively, you can build your own Kubernetes environment on a laptop. Simply running Kubernetes will give you a chance to practice commands and develop your own services using the configuration files.
“Make upstream contributions to Kubernetes open-source communities on GitHub and GitLab and create a paper trail of your work,” Nova suggested. Start by improving existing content, or contribute to code repositories to establish credibility and build confidence in your ability to work with the technology.
Training programs such as Katakoda and Magic Sandbox provide initial hands-on experience, Starmer noted. But if you really want to get down in the weeds, Kelsey Hightower’s Kubernetes the Hard Way provides labs and detailed lessons that will guide you through bootstrapping a highly available Kubernetes cluster with end-to-end encryption between components and RBAC authentication.
While you’re getting hands-on experience, get involved in the community. There are a number of Slack channels, mailing lists and online resources to join in order to get started and learn more. Once you join, make yourself known by responding to newsletters, and by commenting and talking with the members of your new community.