What is the scope of learning kubernetes?

10/11/2019

I came across the word "Kubernetes" recently while searching for some online courses. I understood if I learn Kubernetes, I will learn about containers and stuff related to container orchestration and how easily we can scale the microservices. But I wanted to know after learning kubernetes is there any other thing to learn to become an expert in that line?

My question is more of the stream I can select if I learn this, as like learning Python or R will help you to become a data analyst or other data related stream?

I am very new this, really appreciate your help in understanding this

Thanks in advance

-- asho
kubernetes

2 Answers

10/11/2019

Yes, if you are looking to explore fully then security aspect can also be a thing you can learn and these days its in demand where various clients want to get security leaks checked at level of containers, containers registry and even at level of kubernetes also.

You can become DevSecOps with couple of certifications.

And pertaining to your later question I can't envisage anything because here you can just deploy containers and you can even deploy some python code there which is expected to collect some data from sensors and do some computations.

Please comment if something specific is your question

-- Tushar Mahajan
Source: StackOverflow

10/11/2019

The main prerequisite for Kubernetes is Docker. Once you learn Docker, you learn how to package environments into containers and deploy them. Once you've learnt how to build docker images, you need to 'orchestrate' them. What does that mean?

That means, if you have a bunch of microservices (in the form of containers), you can spin up multiple machines and tell Kubernetes which image/container goes where and so you can orchestrate your app using Docker images (packaged environments) and then Kubernetes as the underlying resource provider to run these containers, and control when they are spun up/killed.

Assuming you don't have a massive cluster on-prem (or at home) Kubernetes on a single personal computer is rather useless. You would need to learn a cloud platform (or invest in a server) to utilise Kubernetes efficiently.

Once you learn this, you would possibly need to find a way for your containers to communicate with one another. In my opinion, the two most important things any amateur programmer needs to know are:

  1. Message brokers
  2. REST

Message brokers: Kafka, RabbitMQ (personal fave), Google Pub/Sub, etc.

REST: Basically sending/receiving data via HTTP requests.

Once all of this is done, you've learnt how to build images, orchestrate them, have them communicate with one another and use resources from other machines (utilizing the cloud or on-prem servers)

There are many other uses for Kubernetes, but in my opinion, this should be enough to entice you to learn this key-skill.

Kubernetes and Docker is the future, because it removes the need to worry about environments. If you have a docker image, you can run that image on Mac, Linux, Windows or basically any machine with a hypervisor. Increase portability, and decreases over-head of setting up environments each time. Also allows you to spin up 1 or 100 or 1000 or 10,000 containers (excellent for scalability!)

-- DuDoff
Source: StackOverflow