{"id":13366,"date":"2022-11-21T18:26:51","date_gmt":"2022-11-21T12:56:51","guid":{"rendered":"https:\/\/blogrevamp.cashfree.com\/?p=13366"},"modified":"2022-12-13T18:21:58","modified_gmt":"2022-12-13T12:51:58","slug":"setting-up-a-self-service-internal-kubernetes-platform","status":"publish","type":"post","link":"https:\/\/blogrevamp.cashfree.com\/setting-up-a-self-service-internal-kubernetes-platform\/","title":{"rendered":"Kubernetes for Everyone: Setting up a Self-Service Internal Kubernetes Platform"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a8f72ee921c1\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #364250;color:#364250\" 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: #364250;color:#364250\" 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><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a8f72ee921c1\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blogrevamp.cashfree.com\/setting-up-a-self-service-internal-kubernetes-platform\/#Self-Service_Internal_Kubernetes_Platform_using_Loft\" >Self-Service Internal Kubernetes Platform using Loft<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blogrevamp.cashfree.com\/setting-up-a-self-service-internal-kubernetes-platform\/#What_is_a_Virtual_Cluster\" >What is a Virtual Cluster?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blogrevamp.cashfree.com\/setting-up-a-self-service-internal-kubernetes-platform\/#But_Why_Do_We_Need_this\" >But Why Do We Need this?<\/a><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\">Over the past few years, Kubernetes has taken the industry by storm on how to build, test, deploy and scale services. Kubernetes (K8S) helps in automating resource-intensive manual processes involved in managing containerized services.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, in most of the organizations, K8S is used for QA, Pre-Prod and Prod Environments. Developers can be left behind.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The Quest to Improve Developers\u2019 Experience and Agility to Adapt:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When an engineer joins a team, it typically takes 2-5 days to completely set up and equip the workstation with software, and applications required for day-to-day activities and for their initial code check-in.<\/li>\n\n\n\n<li>Also, we often hear from engineers, \u201cIt worked in local! Need to check why it is not working in QA\/Pre-Prod\/Prod as they are working in the cloud!\u201d<\/li>\n\n\n\n<li>To minimize the difference between how the code will be executed in production, to how the code is tested during development to ensure reliability is where Self Service Internal Kubernetes Platform comes to the rescue.<\/li>\n\n\n\n<li>Most importantly, this help us in adapting to open sources more easily, work with other team services without worrying about the setup issues allowing developers to focus of development rather than getting stuck with environmental issues.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-self-service-internal-kubernetes-platform-using-loft\"><span class=\"ez-toc-section\" id=\"Self-Service_Internal_Kubernetes_Platform_using_Loft\"><\/span><strong>Self-Service Internal Kubernetes Platform using Loft<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Loft is an advanced control plane that runs on top of your existing Kubernetes clusters to add multi-tenancy and self-service capabilities to these clusters to get the full value out of Kubernetes beyond cluster management.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I know, that\u2019s a big sentence!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s break it down, you would want to master these core concepts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Advanced Control Plane:<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">First, what is a control plane? It is a container orchestration layer that exposes the API and interfaces to define, deploy and manage the lifecycle of containers. In simple terms, it manages the worker nodes and the pods in the cluster that could be running on a single node or multiple nodes.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Multi-Tenancy:<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This allows multiple teams\/applications or so called \u201ctenants\u201d to use the same cluster without interfering with each other.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Self-Service Capability:<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A user should be able to create resources on demand without the need of IT teams involvement where the application can be deployed, tested as well as destroy the instances if need be at the end. This can be scary sometimes when we think from the audit prospective. Here is where virtual clusters provide a clean way to do all these.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_is_a_Virtual_Cluster\"><\/span><strong>What is a Virtual Cluster?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Imagine a virtual Kubernetes cluster as a fully functional Kubernetes cluster that runs on top of another cluster \u2013 contained in a single namespace of the underlying host cluster. A virtual Kubernetes cluster can be used just like any other Kubernetes cluster with <em>kubectl<\/em>, helm or whatever client tool has access to a valid kube-context for this virtual cluster.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The virtual cluster roughly consists of two things:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A control plane i.e., API server, database like etcd and controller-manager.<\/li>\n\n\n\n<li>A syncer which actually starts and manages the containers in the underlying host cluster<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This means if a user is given access to a namespace, that user is an admin for that environment. No more admin access requests and no more debates to decide to give it or not.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" width=\"770\" height=\"408\" data-attachment-id=\"13370\" data-permalink=\"https:\/\/blogrevamp.cashfree.com\/setting-up-a-self-service-internal-kubernetes-platform\/loft_d_4_v2\/\" data-orig-file=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_4_v2.png?fit=5082%2C2691&amp;ssl=1\" data-orig-size=\"5082,2691\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"LOFT_D_4_v2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_4_v2.png?fit=770%2C408&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_4_v2.png?resize=770%2C408&#038;ssl=1\" alt=\"\" class=\"wp-image-13370\" srcset=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_4_v2.png?resize=1024%2C542&amp;ssl=1 1024w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_4_v2.png?resize=300%2C159&amp;ssl=1 300w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_4_v2.png?resize=768%2C407&amp;ssl=1 768w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_4_v2.png?resize=1536%2C813&amp;ssl=1 1536w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_4_v2.png?w=2310&amp;ssl=1 2310w\" sizes=\"(max-width: 770px) 100vw, 770px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"But_Why_Do_We_Need_this\"><\/span><strong>But Why Do We Need this?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Independence, velocity and ease of experimentation, without the fear of bringing down anyone else\u2019s work.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There\u2019s also less pressure on cluster admins to create and maintain all the requirements of the end users. They can focus on bigger aspects like stability and security of the applications.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What it Provides:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cluster Provisioning<\/li>\n\n\n\n<li>Template Creation<\/li>\n\n\n\n<li>User Management<\/li>\n\n\n\n<li>Auditability<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Now that we know why we need this, let&#8217;s see how we did it and what we learnt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Overall deployment architecture is as follows:&nbsp;&nbsp;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We have broadly divided the environments into 2 categories:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Connect to real resources<\/strong><\/li>\n\n\n\n<li><strong>Connect to Mocked\/Self-Service applications<\/strong><img decoding=\"async\" style=\"\" src=\"https:\/\/lh4.googleusercontent.com\/Xyjo-SG587qjCGMdQhO2Hx54UVvtAK9b3iDWTlXL4i9BXntMrMYRhDzxp_liN3LqZPNJ3g2iUPBEMJq31g1A8zT_VV-_5-9j1BPQZcETikjeuRfiCd0azsZqaZ-HHDb-HJKwArSme1Aj7FsBnPExRTTHI4TuArPElIQMUyhdvxPE_Q0ZpbqaCpmvWf_b9w\"><\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Connect to real resources<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">This environment is mainly used for either QA or Nightly Build environments where we would essentially create resources required similar to how production resources are created. Ex: Managed Service of MySql, Kafka, Redis etc.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/LtLKgP7hoREFJP6JphdeLkOBUGZiWJrdPeQ2u0hLjuUClgr1ZIXUggoSauQHQ-YHZocr_dVnUiVeIcLXNdReUNs5Ohd8BnR02fZIGty8nztVK5VdcWzkZ9gzA_PmhCQuOpEIGh3rPlxBTPZ1ePJTRTJLH_GZLWzUjhAZ2htjWqZhCtyhzYgaMTlLlCv3nw\" alt=\"\"\/><\/figure>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li><strong>Connect to Mocked\/Self-Service applications<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">For development, we don&#8217;t always need real resources to work with. We have to rely on self service docker images which will be used by the application to connect.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We have identified the interdependencies of the services and grouped them into a single template based on teams. This gives us the flexibility of on-boarding a new engineer to this specific team with ease. All we need to do is create a new virtual cluster by using the team template. In case of Env1, it would essential ask for resource names and case of Env2, we would essential spin up all required resources and pre-seed the required data using Init containers<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"770\" height=\"468\" data-attachment-id=\"13397\" data-permalink=\"https:\/\/blogrevamp.cashfree.com\/setting-up-a-self-service-internal-kubernetes-platform\/loft_d_1-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_1-1.png?fit=1694%2C1030&amp;ssl=1\" data-orig-size=\"1694,1030\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"LOFT_D_1-1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_1-1.png?fit=770%2C468&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_1-1.png?resize=770%2C468&#038;ssl=1\" alt=\"\" class=\"wp-image-13397\" srcset=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_1-1.png?resize=1024%2C623&amp;ssl=1 1024w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_1-1.png?resize=300%2C182&amp;ssl=1 300w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_1-1.png?resize=768%2C467&amp;ssl=1 768w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_1-1.png?resize=1536%2C934&amp;ssl=1 1536w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/LOFT_D_1-1.png?w=1694&amp;ssl=1 1694w\" sizes=\"(max-width: 770px) 100vw, 770px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">We moved all applications from local systems to the cloud&#8230; but wait a minute!? How do engineers access the cloud environment to debug from local machines, given we practically develop a lot in debugging mode!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s a topic for another blog on how we use Devspace to remote debug our code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Did this post stimulate all the right brain cells? Well then, we have some exciting opportunities in store for excellent engineers just like you!<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.cashfree.com\/careers?utm_source=blog&amp;utm_medium=organic&amp;utm_campaign=kubernetes_blog\/\" target=\"_blank\" rel=\"noopener\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"770\" height=\"172\" data-attachment-id=\"13055\" data-permalink=\"https:\/\/blogrevamp.cashfree.com\/reporting-systems-to-ensure-enhanced-customer-satisfaction\/tech-blog\/\" data-orig-file=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/10\/Tech-Blog.png?fit=1600%2C358&amp;ssl=1\" data-orig-size=\"1600,358\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Tech Jobs at Cashfree Payments\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/10\/Tech-Blog.png?fit=770%2C172&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/10\/Tech-Blog.png?resize=770%2C172&#038;ssl=1\" alt=\"Jobs at Cashfree Payments\" class=\"wp-image-13055\" srcset=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/10\/Tech-Blog.png?resize=1024%2C229&amp;ssl=1 1024w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/10\/Tech-Blog.png?resize=300%2C67&amp;ssl=1 300w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/10\/Tech-Blog.png?resize=768%2C172&amp;ssl=1 768w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/10\/Tech-Blog.png?resize=1536%2C344&amp;ssl=1 1536w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/10\/Tech-Blog.png?w=1600&amp;ssl=1 1600w\" sizes=\"(max-width: 770px) 100vw, 770px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Over the past few years, Kubernetes has taken the industry by storm on how to build, test, deploy and scale services. Kubernetes (K8S) helps in automating resource-intensive manual processes involved in managing containerized services. However, in most of the organizations, K8S is used for QA, Pre-Prod and Prod Environments. Developers can be left behind. The<\/p>\n","protected":false},"author":61,"featured_media":13385,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"_themeisle_gutenberg_block_has_review":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1,1497],"tags":[5048],"class_list":["post-13366","post","type-post","status-publish","format-standard","has-post-thumbnail","category-all","category-engineering","tag-tech"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Setting up a Self-Service Internal Kubernetes Platform<\/title>\n<meta name=\"description\" content=\"Over the past few years, Kubernetes has taken the industry by storm on how to build, test, deploy and scale services. Kubernetes (K8S) helps in automating resource-intensive manual processes involved in managing containerized services.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cashfree.com\/blog\/setting-up-a-self-service-internal-kubernetes-platform\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Setting up a Self-Service Internal Kubernetes Platform\" \/>\n<meta property=\"og:description\" content=\"Over the past few years, Kubernetes has taken the industry by storm on how to build, test, deploy and scale services. Kubernetes (K8S) helps in automating resource-intensive manual processes involved in managing containerized services.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cashfree.com\/blog\/setting-up-a-self-service-internal-kubernetes-platform\/\" \/>\n<meta property=\"og:site_name\" content=\"Cashfree Payments Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-21T12:56:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-13T12:51:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/Kubernetes-for-everyone-Cashfree-Payments.png?fit=1203%2C800&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1203\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Vijay Babu\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vijay Babu\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Setting up a Self-Service Internal Kubernetes Platform","description":"Over the past few years, Kubernetes has taken the industry by storm on how to build, test, deploy and scale services. Kubernetes (K8S) helps in automating resource-intensive manual processes involved in managing containerized services.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cashfree.com\/blog\/setting-up-a-self-service-internal-kubernetes-platform\/","og_locale":"en_US","og_type":"article","og_title":"Setting up a Self-Service Internal Kubernetes Platform","og_description":"Over the past few years, Kubernetes has taken the industry by storm on how to build, test, deploy and scale services. Kubernetes (K8S) helps in automating resource-intensive manual processes involved in managing containerized services.","og_url":"https:\/\/www.cashfree.com\/blog\/setting-up-a-self-service-internal-kubernetes-platform\/","og_site_name":"Cashfree Payments Blog","article_published_time":"2022-11-21T12:56:51+00:00","article_modified_time":"2022-12-13T12:51:58+00:00","og_image":[{"width":1203,"height":800,"url":"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/Kubernetes-for-everyone-Cashfree-Payments.png?fit=1203%2C800&ssl=1","type":"image\/png"}],"author":"Vijay Babu","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Vijay Babu","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cashfree.com\/blog\/setting-up-a-self-service-internal-kubernetes-platform\/#article","isPartOf":{"@id":"https:\/\/blogrevamp.cashfree.com\/setting-up-a-self-service-internal-kubernetes-platform\/"},"author":{"name":"Vijay Babu","@id":"https:\/\/blogrevamp.cashfree.com\/#\/schema\/person\/fcaa5587bb2223497252bee880eb3f62"},"headline":"Kubernetes for Everyone: Setting up a Self-Service Internal Kubernetes Platform","datePublished":"2022-11-21T12:56:51+00:00","dateModified":"2022-12-13T12:51:58+00:00","mainEntityOfPage":{"@id":"https:\/\/blogrevamp.cashfree.com\/setting-up-a-self-service-internal-kubernetes-platform\/"},"wordCount":879,"commentCount":0,"image":{"@id":"https:\/\/www.cashfree.com\/blog\/setting-up-a-self-service-internal-kubernetes-platform\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/Kubernetes-for-everyone-Cashfree-Payments.png?fit=1203%2C800&ssl=1","keywords":["tech"],"articleSection":["All","Engineering"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.cashfree.com\/blog\/setting-up-a-self-service-internal-kubernetes-platform\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogrevamp.cashfree.com\/setting-up-a-self-service-internal-kubernetes-platform\/","url":"https:\/\/www.cashfree.com\/blog\/setting-up-a-self-service-internal-kubernetes-platform\/","name":"Setting up a Self-Service Internal Kubernetes Platform","isPartOf":{"@id":"https:\/\/blogrevamp.cashfree.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cashfree.com\/blog\/setting-up-a-self-service-internal-kubernetes-platform\/#primaryimage"},"image":{"@id":"https:\/\/www.cashfree.com\/blog\/setting-up-a-self-service-internal-kubernetes-platform\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/Kubernetes-for-everyone-Cashfree-Payments.png?fit=1203%2C800&ssl=1","datePublished":"2022-11-21T12:56:51+00:00","dateModified":"2022-12-13T12:51:58+00:00","author":{"@id":"https:\/\/blogrevamp.cashfree.com\/#\/schema\/person\/fcaa5587bb2223497252bee880eb3f62"},"description":"Over the past few years, Kubernetes has taken the industry by storm on how to build, test, deploy and scale services. Kubernetes (K8S) helps in automating resource-intensive manual processes involved in managing containerized services.","breadcrumb":{"@id":"https:\/\/www.cashfree.com\/blog\/setting-up-a-self-service-internal-kubernetes-platform\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cashfree.com\/blog\/setting-up-a-self-service-internal-kubernetes-platform\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.cashfree.com\/blog\/setting-up-a-self-service-internal-kubernetes-platform\/#primaryimage","url":"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/Kubernetes-for-everyone-Cashfree-Payments.png?fit=1203%2C800&ssl=1","contentUrl":"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/Kubernetes-for-everyone-Cashfree-Payments.png?fit=1203%2C800&ssl=1","width":1203,"height":800,"caption":"Kubernetes for everyone Cashfree Payments"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cashfree.com\/blog\/setting-up-a-self-service-internal-kubernetes-platform\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blogrevamp.cashfree.com\/"},{"@type":"ListItem","position":2,"name":"Engineering","item":"https:\/\/blogrevamp.cashfree.com\/category\/engineering\/"},{"@type":"ListItem","position":3,"name":"Kubernetes for Everyone: Setting up a Self-Service Internal Kubernetes Platform"}]},{"@type":"WebSite","@id":"https:\/\/blogrevamp.cashfree.com\/#website","url":"https:\/\/blogrevamp.cashfree.com\/","name":"Cashfree Payments Blog","description":"Cashfree Payments- Payment Gateway for India","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogrevamp.cashfree.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blogrevamp.cashfree.com\/#\/schema\/person\/fcaa5587bb2223497252bee880eb3f62","name":"Vijay Babu","url":"https:\/\/blogrevamp.cashfree.com\/author\/vijay-babu\/"}]}},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9MjXo-3tA","jetpack_likes_enabled":false,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/11\/Kubernetes-for-everyone-Cashfree-Payments.png?fit=1203%2C800&ssl=1","_links":{"self":[{"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/posts\/13366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/users\/61"}],"replies":[{"embeddable":true,"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/comments?post=13366"}],"version-history":[{"count":13,"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/posts\/13366\/revisions"}],"predecessor-version":[{"id":13403,"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/posts\/13366\/revisions\/13403"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/media\/13385"}],"wp:attachment":[{"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/media?parent=13366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/categories?post=13366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/tags?post=13366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}