A Beginner's Guide to Kubernetes, Part 5: Conclusion

Updated , by Andy Stevens

Traducciones al Español
Estamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
Try this guide to receive $100 at signup on a new account.

A Beginner’s Guide to Kubernetes

Note
This is the fifth guide in the Beginner’s Guide to Kubernetes series that explains the major parts and concepts of Kubernetes.

In this guide you will learn about networking in Kubernetes and about advanced Kubernetes topics.

Networking

Networking in Kubernetes was designed to make it simple to port existing apps from VMs to containers, and subsequently, Pods. The basic requirements of the Kubernetes networking model are:

  1. Pods can communicate with each other across Nodes without the use of NAT
  2. Agents on a Node, like kubelet, can communicate with all of a Node’s Pods
  3. In the case of Linux, Pods in a Node’s host network can communicate to all other Pods without NAT.

Though the rules of the Kubernetes networking model are simple, the implementation of those rules is an advanced topic. Because Kubernetes does not come with its own implementation, it is up to the user to provide a networking model.

Two of the most popular options are Flannel and Calico.

  • Flannel is a networking overlay that meets the functionality of the Kubernetes networking model by supplying a layer 3 network fabric, and is relatively easy to set up.

  • Calico enables networking, and networking policy through the NetworkPolicy API to provide simple virtual networking.

For more information on the Kubernetes networking model, and ways to implement it, consult the cluster networking documentation.

Advanced Topics

There are a number of advanced topics in Kubernetes. Below are a few you might find useful as you progress in Kubernetes:

  • StatefulSets can be used when creating stateful applications.
  • DaemonSets can be used to ensure each Node is running a certain Pod. This is useful for log collection, monitoring, and cluster storage.
  • Horizontal Pod Autoscaling can automatically scale your deployments based on CPU usage.
  • CronJobs can schedule Jobs to run at certain times.
  • ResourceQuotas are helpful when working with larger groups where there is a concern that some teams might take up too many resources.

Next Steps

Now that you are familiar with Kubernetes concepts and components, you can follow the Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode guide. This guide provides a hands-on activity to continue learning about Kubernetes.

If you would like to deploy a Kubernetes cluster on Linode for production use, we recommend using one of the following methods instead. These methods are also a much faster way to get a cluster running, and they will also integrate your cluster with some useful Linode plugins:

This page was originally published on


Your Feedback Is Important

Let us know if this guide helped you find the answer you were looking for.