A Beginner's Guide to Kubernetes (Part 5): Conclusion

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.
Create a Linode account to try this guide with a $ credit.
This credit will be applied to any valid services used during your first  days.

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 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:

More Information

You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.

This page was originally published on

Your Feedback Is Important

Let us know if this guide was helpful to you.

Join the conversation.
Read other comments or post your own below. Comments must be respectful, constructive, and relevant to the topic of the guide. Do not post external links or advertisements. Before posting, consider if your comment would be better addressed by contacting our Support team or asking on our Community Site.
The Disqus commenting system for Linode Docs requires the acceptance of Functional Cookies, which allow us to analyze site usage so we can measure and improve performance. To view and create comments for this article, please update your Cookie Preferences on this website and refresh this web page. Please note: You must have JavaScript enabled in your browser.