|Kubernetes for Full-Stack Developers|
|Written by Nikos Vaggalis|
|Tuesday, 26 November 2019|
If you are interested in using containers, in particular Kubernetes, Digital Ocean has provided a self paced, and free, community curriculum and there's also a fun introduction from the Cloud Native Foundation.
Having launched its managed Kubernetes services, available to every Droplet, Digital Ocean discovered that despite the strong interest in everything Kubernetes on the part of businesses and developers alike, there was a great skills gap holding them back.
In order to do something about it, while at the same time strengthen its market share, it launched
would walk readers through core concepts and specific tasks related to running applications on Kubernetes.
As such the tutorials explain the steps that any new user would take in learning about and using Kubernetes:
The aim of the course is that:
by the end of it you’ll be able to create your own Kubernetes cluster from scratch and run your own applications on it.
Smoothly beginning with An Introduction to Kubernetes it lays the fundamentals: what Kubernetes are, what they are used for and an overview of the architecture. While the ink is still dry,all this immediately becomes practical with the second lesson, How To Create a Kubernetes Cluster Using Kubeadm on Ubuntu 18.04. This has step-by-step instructions in text only. Multimedia and video are used in the next section with the webinar A Closer Look at Kubernetes.
The second part of the course opens with Containers, Modernizing Applications and 12 Factor Development, which, rather than looking at Kubernetes' infrastructure looks at it in terms of applications, exploring and even redesigning your application in order to leverage Kubernetes' distinct advantages.This includes running a demo Node.js application in Docker and using Docker Compose to run multiple containers together.
Part 3 continues using Docker Compose to set up a web application comprising of the Laravel framework, Nginx as the web server and MySQL as the database, each component occupying a separate container. This lesson is about coordinating those containers with Docker Compose and then the same by migrating to Kubernetes.
The last two parts are on Deployment Strategies, with lessons such as How To Deploy a PHP Application with Kubernetes on Ubuntu 18.04 and How To Automate Deployments to DigitalOcean Kubernetes with CircleCI, and Operate a Kubernetes Cluster with lessons on Kubernetes Networking Under the Hood, How To Inspect Kubernetes Networking and other, similar, practical scenarios.
All-in-all these resources follow the familiar community style of the tutorials that Digital Ocean offers, always detailed and hands-on, so you certainly won't be bored while learning at the same time.
Before you jump into DO's tutorials, there's a more fun alternative resource which introduces the total newbie, including kids, to the same concepts.
It's the The Illustrated Children’s Guide to Kubernetes by the Cloud Native Foundation starring Phippy, Goldie and Captain Kube and is:
dedicated to all the parents who try to explain software engineering to their children.
This is the story of Phippy, a lonely app which:
was written in PHP and had just one page. She lived on a hosting provider and she shared her environment with scary other apps that she didn’t know and didn’t care to associate with. She wished she had her own environment: just her and a webserver she could call home.
Phippy meets Captain Kube who modernizes her, containerizes her, clones her and deploys her all by welcoming her on board of his the Kubernetes ship.
Strip off the talking down to children and the illustrations and you have a very good overview of what Kubernetes are and do best, that will be understood by any IT professional who is a newbie to the platform. For example :
One day, a kindly whale came along. He suggested that little Phippy might be happier living in a container. And so the app moved. And the container was nice, but… It was a little bit like having a fancy living room floating in the middle of the ocean.
The story details what's wrong with containers:
and indicates how Kubernetes can help out :
A container provides an isolated environment in which an app, together with its environment, can run. But those isolated containers often need to be managed and connected to the external world. Shared file systems, networking, scheduling, load balancing, and distribution are all challenges.
As is evident here. the guide is employing terminology like "shared file systems", "networking", "scheduling", "distributed systems" and so on, hence the reader needs to be familiar with those underlying concepts. And that's why I say that ignoring the kids stuff makes the guide suitable to pros who are new to the platform.
In looking to kickstart your Kubernetes journey, I would strongly suggest going through the The Illustrated Children’s Guide to Kubernetes first before diving into the Digital Ocean guide. That way you'll find it much easier to adapt to the latter.
Kubernetes for Full-Stack Developers
The Illustrated Children’s Guide to Kubernetes
nginx A Practical Guide to High Performance
To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
or email your comment to: email@example.com
|Last Updated ( Tuesday, 26 November 2019 )|