{"id":8401,"date":"2018-03-08T06:26:09","date_gmt":"2018-03-08T06:26:09","guid":{"rendered":"http:\/\/www.esds.co.in\/blog\/?p=8401"},"modified":"2018-05-08T09:10:35","modified_gmt":"2018-05-08T09:10:35","slug":"all-about-kubernetes","status":"publish","type":"post","link":"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/","title":{"rendered":"All about Kubernetes"},"content":{"rendered":"<p style=\"text-align: justify;\"><strong>T<\/strong>he use of containers has caused a paradigmatic shift in the way that software developers build and deploy programs. Kubernetes is an open source tool developed by Google to manage containers. The company used BORG software to manage about a billion deployments in its data centers across the world until the Kubernetes project was initiated in 2014. Kubernetes is now hosted by <a href=\"https:\/\/www.esds.co.in\/enlight-cloud-hosting\">Cloud<\/a> Native Computing Foundation (CNCF). Kubernetes have the capability of automating deployment, scaling of application and operations of application containers across clusters of nodes. It is capable of creating container-centric infrastructure. This document tries to explain the concept of containerisation and Kubernetes\u2026<\/p><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#What_is_a_Container\" >What is a Container?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#What_is_Kubernetes\" >What is Kubernetes?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#What_are_the_characteristics_of_Kubernetes\" >What are the characteristics of Kubernetes?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#Pods\" >Pods<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#Labels_and_selectors\" >Labels and selectors<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#Controllers\" >Controllers<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#Services\" >Services<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#Architecture_of_Kubernetes\" >Architecture of Kubernetes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#Master_node\" >Master node<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#API_server\" >API server<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#Controller_manager\" >Controller manager<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#Scheduler\" >Scheduler<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#etcd\" >etcd<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#Kubernetes_nodes_or_worker_nodes_or_minion\" >Kubernetes nodes or worker nodes or minion<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#Kubelet\" >Kubelet<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#cAdvisor\" >cAdvisor<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/#Kube-Proxy\" >Kube-Proxy<\/a><\/li><\/ul><\/nav><\/div>\n\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"What_is_a_Container\"><\/span><strong>What is a Container?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">A Container is a bundle of applications with all their dependencies that remains isolated from the guest OS (client), on which they run. A software developer can package an application and all its components into a container and distribute it on the network, say internet, for public use. Containers can be downloaded and executed on any computer (Physical or VM) because they use the resources of the host OS (on which they are downloaded) for execution.\u00a0Containers are very much similar to VM \u00a0but depends upon what you are trying to accomplish.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/img-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-8404 aligncenter\" src=\"https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/img-1.png\" alt=\"What is a Container\" width=\"680\" height=\"256\" srcset=\"https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/img-1.png 680w, https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/img-1-150x56.png 150w, https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/img-1-300x113.png 300w, https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/img-1-660x248.png 660w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/a><\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"What_is_Kubernetes\"><\/span><strong>What is Kubernetes?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">Kubernetes is an open source tool used to manage containers across the <a href=\"https:\/\/www.esds.co.in\/private-cloud-hosting\">private cloud<\/a>, <a href=\"https:\/\/www.esds.co.in\/enlight-cloud-hosting\">public cloud<\/a> or <a href=\"https:\/\/www.esds.co.in\/hybrid-cloud-hosting\">hybrid cloud<\/a>. It provides a platform for automating deployment, scaling and management of containerised application across clusters of nodes. It supports many other container tools as well. Therefore we can add extensions and use containers apart from the internal components of Kubernetes.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"What_are_the_characteristics_of_Kubernetes\"><\/span>What are the characteristics of Kubernetes?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul style=\"text-align: justify;\">\n<li>Quick development, integration and deployment.<\/li>\n<li>Auto-scalable management.<\/li>\n<li>Consistency across development testing and production.<\/li>\n<li>Computer resources are fully utilized. Therefore you need not concern about resource wastage.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">The following are <strong>the features of Kubernetes<\/strong> which provide management of the containerised applications. The Kubernetes API allows extensibility of extensions and containers making them scalable.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Pods\"><\/span><strong>Pods<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">A Pod is a group of one or more containers (as a pod of peas) with shared resources and a specification for how to run the containers.<\/p>\n<p style=\"text-align: justify;\">A pod contains one or more application containers which are relatively tightly coupled and can share resources of the host computer. These applications if non-containerized have to run together on one server. Pod allows these small units to be scheduled for deployment through Kubernetes (K8).<\/p>\n<p style=\"text-align: justify;\">Each pod in Kubernetes is assigned a unique IP address which allows applications to use ports without the risk of conflict.<\/p>\n<p style=\"text-align: justify;\">Containers within a pod share an IP address and port space and can find each other by localhost. Containers in different pods have distinct IP addresses and must have a special configuration to enable communication between them.<\/p>\n<p style=\"text-align: justify;\">Applications within a pod also have access to shared volumes, which are defined as part of a pod and are made available to be mounted into each application\u2019s file system.<\/p>\n<p style=\"text-align: justify;\">Pods do not live long. They are created, destroyed and re-created on demand, based on the state of the server and the service itself. Pods can be manually managed through the Kubernetes API.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Labels_and_selectors\"><\/span><strong>Labels and selectors<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\"><em>Labels<\/em>\u00a0are key\/value pairs that are attached to objects, such as pods and nodes. Labels are intended to be used to \u00a0identify attributes of objects. They can be attached to objects at the time of creation \u00a0and can be added or modified at any time. Each object can have a set of key\/value labels defined but each key must be unique for a \u00a0particular object.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/Code-Image.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-8403\" src=\"https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/Code-Image.png\" alt=\"Labels and selectors\" width=\"680\" height=\"140\" srcset=\"https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/Code-Image.png 680w, https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/Code-Image-150x31.png 150w, https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/Code-Image-300x62.png 300w, https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/Code-Image-660x136.png 660w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Label selector is a query against the labels that resolve to the matching objects. For example, if the Pods of an application have labels for a system\u00a0tier\u00a0(&#8220;front-end&#8221;, &#8220;backend\u201d) and a\u00a0release track\u00a0(&#8220;canary&#8221;, &#8220;production\u201d), then an operation on all of the &#8220;back-end&#8221; and &#8220;canary&#8221; nodes could use a label selector such as the following:<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/Code-image-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-8402\" src=\"https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/Code-image-1.png\" alt=\"Labels and selectors\" width=\"680\" height=\"46\" srcset=\"https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/Code-image-1.png 680w, https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/Code-image-1-150x10.png 150w, https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/Code-image-1-300x20.png 300w, https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/Code-image-1-660x45.png 660w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/a><\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Controllers\"><\/span><strong>Controllers<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">Kubernetes system constantly tries to move its current state to the desired state. The worker units that guarantee the desired state are called\u00a0controllers. A controller is a loop that drives actual cluster state towards the desired cluster state. It does this by managing a set of pods.<\/p>\n<p style=\"text-align: justify;\">One kind of controller is a <strong>Replication Controller<\/strong>, which handles replication and scaling by running a specified number of copies of pods across the cluster. It also handles creating replacement pods if the underlying node fails.\u00a0They create and destroy pods dynamically.<\/p>\n<p style=\"text-align: justify;\"><strong>DaemonSet Controller<\/strong> is also a part of the core Kubernetes system which is used for running exactly one pod on every machine (or some subset of machines).<\/p>\n<p style=\"text-align: justify;\"><strong>Job Controller<\/strong> is used for running pods that run to completion, say, as part of a batch job. The set of pods that a controller manages is determined by label selectors that are part of the controller\u2019s definition.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Services\"><\/span><strong>Services<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">A Kubernetes\u00a0Service is an abstraction which defines a logical set of\u00a0Pods\u00a0and a policy \u00a0to access them &#8211; sometimes called a micro-service.<\/p>\n<p style=\"text-align: justify;\">A Kubernetes service is a set of pods that work together. The set of pods that constitute a service are defined by a label selector. Kubernetes provides\u00a0service discovery\u00a0and request routing by assigning a stable IP address and\u00a0DNS name\u00a0to the service, and load balances traffic to network connections of that IP address among the pods matching the selector.<\/p>\n<p style=\"text-align: justify;\"><strong>Example:<\/strong> Consider an image-processing backend which is running with 3 replicas. Those replicas are fungible -frontends do not care which backend they use. While the actual\u00a0Pods\u00a0that compose the backend set may change, thus, the frontend clients need not \u00a0keep track of the list of backends themselves. The\u00a0<strong>Service<\/strong>\u00a0abstraction enables this decoupling.<\/p>\n<p style=\"text-align: justify;\">By default, a service is exposed inside a cluster (Example:\u00a0back-end\u00a0pods might be grouped into a service, with requests from the front-end pods which are load-balanced among them), but a service can also be exposed outside a cluster.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Architecture_of_Kubernetes\"><\/span><strong>Architecture of Kubernetes<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">Kubernetes has a Master-Slave architecture.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/img-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-8405 aligncenter\" src=\"https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/img-2.png\" alt=\"Architecture of Kubernetes\" width=\"616\" height=\"424\" srcset=\"https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/img-2.png 616w, https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/img-2-150x103.png 150w, https:\/\/www.esds.co.in\/blog\/wp-content\/uploads\/2018\/03\/img-2-300x206.png 300w\" sizes=\"auto, (max-width: 616px) 100vw, 616px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\"><strong>Kubectl <\/strong>is a command line tool \u00a0used to send commands to the master node. \u00a0It communicates with the API service to create, update, delete, and get API objects.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Master_node\"><\/span><strong>Master node<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">It is responsible for the management of Kubernetes cluster. This is the entry point for all administrative tasks. The master node manages cluster\u2019s workload and directs communication across the system. It consists of various components, each has its own process that can run both on a single master node or on multiple masters.<\/p>\n<p style=\"text-align: justify;\">The various components of the Kubernetes control plane (master)\u00a0are:<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"API_server\"><\/span><strong>API server<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">The API server is a key component and serves the Kubernetes\u00a0API\u00a0using\u00a0JSON. The API server is the entry point for all the REST commands used to control the cluster. It processes the REST requests, validates them, and executes the bound business logic.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Controller_manager\"><\/span><strong>Controller manager<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">Controller manager is a daemon\u00a0in which you run different kinds of controllers. The controllers communicate with the API server to create, update and delete the resources they manage (pods, service endpoints etc.).<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Scheduler\"><\/span><strong>Scheduler<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">The deployment of configured pods and services onto the nodes\u00a0is done by the scheduler. Scheduler tracks resource utilization on each node to ensure that workload is not scheduled in excess of the available resources. For this purpose, the scheduler must know the resource requirements, resource availability and a variety of other user-provided constraints.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"etcd\"><\/span><strong>etcd<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\"><strong>etcd <\/strong>is a simple, distributed, consistent and lightweight key-value data store. It stores the configuration data of the cluster, representing the overall state of the cluster at any given time instance. It is mainly used for shared configuration and service discovery.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Kubernetes_nodes_or_worker_nodes_or_minion\"><\/span><strong>Kubernetes nodes or worker nodes or minion<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">The pods are deployed on Kubernetes nodes, so the worker node contains all the necessary services to manage the networking between the containers, communicate with the master node and assign resources to the containers scheduled. Every node in the cluster must run the container\u00a0runtime\u00a0(such as\u00a0Docker), as well as the following components.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Kubelet\"><\/span><strong>Kubelet<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">Kubelet service gets the configuration of a pod from the API server and ensures that the described containers are up and running. It takes care of starting, stopping, and maintaining pods as directed by the master. It is responsible for communicating with the master node<br \/>\nto get information about services and write the details about newly created ones.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"cAdvisor\"><\/span><strong>cAdvisor<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">cAdvisor monitors and collects resource usage and performance metrics of CPU, memory, file and network usage of containers on each node.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Kube-Proxy\"><\/span><strong>Kube-Proxy<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">Kube-Proxy is a network proxy and a load balancer for a service on a single worker node. It handles the routing of TCP and UDP packets of the appropriate container based on IP and port number of the incoming request.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The use of containers has caused a paradigmatic shift in the way that software developers build and deploy programs. Kubernetes is an open source tool developed by Google to manage containers. The company used BORG software to manage about a billion deployments in its data centers across the world until the Kubernetes project was initiated&#8230; <\/p>\n<div class=\"clear\"><\/div>\n<p><a href=\"https:\/\/www.esds.co.in\/blog\/all-about-kubernetes\/\" class=\"gdlr-button small excerpt-read-more\">Read More<\/a><\/p>\n","protected":false},"author":37,"featured_media":8404,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1534],"tags":[1578,1581,1574,1572,1577,1575,1582,1580,1571,1579,1576,1573],"class_list":["post-8401","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology","tag-architecture-of-kubernetes","tag-cadvisor","tag-characteristics-of-kubernetes","tag-container","tag-daemonset-controller","tag-features-of-kubernetes","tag-kube-proxy","tag-kubelet","tag-kubernetes","tag-kubernetes-nodes","tag-replication-controller","tag-what-is-kubernetes"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.esds.co.in\/blog\/wp-json\/wp\/v2\/posts\/8401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esds.co.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.esds.co.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.esds.co.in\/blog\/wp-json\/wp\/v2\/users\/37"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esds.co.in\/blog\/wp-json\/wp\/v2\/comments?post=8401"}],"version-history":[{"count":5,"href":"https:\/\/www.esds.co.in\/blog\/wp-json\/wp\/v2\/posts\/8401\/revisions"}],"predecessor-version":[{"id":8692,"href":"https:\/\/www.esds.co.in\/blog\/wp-json\/wp\/v2\/posts\/8401\/revisions\/8692"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.esds.co.in\/blog\/wp-json\/wp\/v2\/media\/8404"}],"wp:attachment":[{"href":"https:\/\/www.esds.co.in\/blog\/wp-json\/wp\/v2\/media?parent=8401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esds.co.in\/blog\/wp-json\/wp\/v2\/categories?post=8401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esds.co.in\/blog\/wp-json\/wp\/v2\/tags?post=8401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}