Kubernetes Consulting Services

Page 1

Basic concepts of Kubernetes What is Kubernetes Kubernetes is a container orchestration system that manages your container effectively. It is arguably the most crucial container management technology in the world and used a lot in a real production environment where you have many containers to manage. It's essential from the scalability perspective and also to manage your resources effectively. Even though it's not from Google, its origin is. It's created as an open-source by engineers who work on a similar tool in Google. You can understand that if it can work on the scale of Google, it's definitely well tried and tested.

What Kubernetes do Imagine you've an application which has multiple services and each of these services configured in a very container. Let assume those two services as Service A and Service B. Also, Service A use Service B to get done some works. So, we can represent service dependency as follows. When high availability required, then we must scale the machine so that each service have a copy of a unique and run this copy in another node (separate physical/ virtual machine). Here, load balancer used to distribute force between servers. In this method, single point failure handled by routing traffic to another node if one node is getting down.


In lager system which has plenty of nodes and services, hardware utilization might be not efficient since every one of service requires different hardware requirements. Therefore, hardwiring services right into a specific node is not that efficient. Kubernetes provide an elegant way to fix this resource utilization issues by orchestrating container services in multiple nodes. Kubernetes cluster maintains by the master including scheduling applications, maintaining applications’ desired state, scaling applications, and rolling out new updates. A node is just a VM or a physical computer that serves as a worker machine in a Kubernetes cluster. Node and master communicate with one another through the Kubernetes API. A Kubernetes pod is a small grouping of containers which are deployed together on a single host. Pod A pod is a collection of containers and the unit of deployment in Kubernetes cluster. All the pod having its own IP address. Meaning, each container in exactly the same pod has same IP address so that they'll find one another with localhost.

Services Since pods are dynamically changing, it is hard to reference individual pod. Services providing an abstraction over Pods and provide an addressable method of communicating with pods.

Ingress The majority of the time pods and services are encapsulated in inside the Kubernetes cluster so that external client cannot call these servers. An Ingress is a collection of rules that allow inbound connections to attain the cluster services.

Docker A Docker Daemon is running in each node to pull images from the Docker registry and runt it.

Kubelet Kubelet is the node agent that runs periodically to checks the health of the containers in a pods. API server sends instruction that required to operate containers and kubelet make certain containers in desired state.

Kube-proxy Kube-proxy distribute force to the pods. Load distribution predicated on either iptable rules or round robin method.


Deployment The deployment is what you use to describes your preferred state to Kubernetes.

Features of Kubernetes Kubernetes provide multiple features so that application deployer can quickly deploy and maintain the entire system. •

Control replication

This component allows maintaining how many replicated pods that want to help keep in Kubernetes cluster. •

Resource Monitoring

Health and the performance of the cluster can be measure by using add ons such as for instance Heapster. This can collect the metrics from the cluster and save stats in InfluxDB. Data can be visualized by using Grafana which can be ideal UI to analyze these data. •

Horizontal auto scaling

Heapster data also useful when scaling the machine when high load makes the system. Number of pods can be increase or decrease according force of the system. •

Collecting logs

Collecting log is very important to check the status of the containers. Fluent used alongside Elastic Search and Kibana to see the logs from the containers.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.