Kubernetes explained deep enough: Services

Kubernetes explained deep enough: Services

This is the fifth part of Kubernetes mini-series Kubernetes explained deep enough For web version of this blog and more information about docker, Kubernetes and Docker Certification, please visit: Part 1: Introduction Part 2: Kubernetes explained deep enough: Storage Part 3: Kubernetes explained deep enough: Deployments Part 4: Kubernetes explained deep enough: Configuration Part 5: Services discoverability, DNS, cluster communication — this blog

This blog is a little bit longer than other parts of Kubernetes explained deep enough. Kubernetes networking is a very complex topic and trying to write about all nuances of different services and mechanisms would probably take a few blogs on it’s own. Instead we will focus on specific areas of Kubernetes Networking: services and look at their practical applications.

Since this series is about exercising and practical examples, we will focus less on deep diving into each service types, but rather merge them together into a broader category of Networking and look at it from holistic point of view highlighting only those aspects that are important for the examples we will work with.

_Visit Kubernetes documentation if you need a refresher about [Services_](https://kubernetes.io/docs/concepts/services-networking/service/)

Basic definitions are provided on diagrams below

How does it work?

In Kubernetes service is a resource that abstracts and encapsulates a way of exposing an application running in pods as a network service.

Although services do not require DNS to work, it is strongly recommended to setup DNS service on Kubernetes using an add-on. There are several DNS services compatible with [Kubernetes dns specification_](https://github.com/kubernetes/dns/blob/master/docs/specification.md), 2 most popular are:_

After DNS service is setup on the cluster, it is very easy to call services taking advantage of the DNS records created for each service. Since Kubernetes networking is flat meaning that resources can communicate with each other directly via their IPs, this means that it should be possible to call any service in any namespace from any pod in any namespace (providing there are no network policies blocking the traffic).

cloud-native cloud-computing docker tutorial kubernetes

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

50+ Useful Kubernetes Tools for 2020 - Part 2

Our original Kubernetes tool list was so popular that we've curated another great list of tools to help you improve your functionality with the platform.

How native is React Native? | React Native vs Native App Development

Article covers: How native is react native?, React Native vs (Ionic, Cordova), Similarities and difference between React Native and Native App Development.

Multi-cloud Spending: 8 Tips To Lower Cost

Mismanagement of multi-cloud expense costs an arm and leg to business and its management has become a major pain point. Here we break down some crucial tips to take some of the management challenges off your plate and help you optimize your cloud spend.

Kubernetes in the Cloud: Strategies for Effective Multi Cloud Implementations

This article explains how you can leverage Kubernetes to reduce multi cloud complexities and improve stability, scalability, and velocity.

What are the benefits of cloud migration? Reasons you should migrate

To move or not to move? Benefits are multifold when you are migrating to the cloud. Get the correct information to make your decision, with our cloud engineering expertise.