{"id":2741,"date":"2025-06-13T12:59:32","date_gmt":"2025-06-13T09:59:32","guid":{"rendered":"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/"},"modified":"2025-06-13T12:59:32","modified_gmt":"2025-06-13T09:59:32","slug":"custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api","status":"publish","type":"post","link":"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/","title":{"rendered":"Custom Resources in Kubernetes: A Deep Dive into Extending the API"},"content":{"rendered":"<p><br \/>\n<\/p>\n<p>Kubernetes has fundamentally transformed how we manage and orchestrate containerized applications. One of its standout features is custom resources, which enable users to extend the Kubernetes API to suit their specific needs. In this article, we\u2019ll explore the concept of custom resources, their importance, and how to implement them for effective orchestration in your Kubernetes environment.<\/p>\n<p><\/p>\n<h2>Understanding Kubernetes Custom Resources<\/h2>\n<p><\/p>\n<p>Kubernetes is built on a declarative model, where users describe the desired state of their applications and the platform automatically maintains that state. While Kubernetes comes with a set of predefined resources\u2014like Pods, Services, and Deployments\u2014there are scenarios where these out-of-the-box resources don\u2019t meet all application needs. This is where custom resources come into play.<\/p>\n<p><\/p>\n<p>A <strong>Custom Resource Definition (CRD)<\/strong> allows users to define their own resource types. Think of it as a way to create your own API objects that extend Kubernetes capabilities, thereby allowing you to manage new types of resources in a similar way to built-in Kubernetes objects.<\/p>\n<p><\/p>\n<h3>Why Use Custom Resources?<\/h3>\n<p><\/p>\n<h4>1. <strong>Tailor Kubernetes to Your Needs<\/strong><\/h4>\n<p><\/p>\n<p>Custom resources enable teams to define and manage specific components of their applications with custom attributes that are directly relevant to their workloads.<\/p>\n<p><\/p>\n<h4>2. <strong>Enhanced Abstraction<\/strong><\/h4>\n<p><\/p>\n<p>By representing complex application logic through custom resources, you can simplify and abstract the interaction with your Kubernetes environment, making it easier for development and operations teams.<\/p>\n<p><\/p>\n<h4>3. <strong>Better Automation<\/strong><\/h4>\n<p><\/p>\n<p>Custom resources allow for automation and orchestration tailored to your organization\u2019s requirements, utilizing Kubernetes controllers to manage these resources intelligently.<\/p>\n<p><\/p>\n<h3>Key Components of Custom Resources<\/h3>\n<p><\/p>\n<ol><\/p>\n<li>\n<p><strong>Custom Resource Definitions (CRDs)<\/strong><\/p>\n<p><\/p>\n<ul><\/p>\n<li>A CRD tells Kubernetes about your custom resource. By creating a CRD, you can define how your resource behaves, which fields it should have, and any validation rules applied to them.<\/li>\n<p>\n<\/ul>\n<p>\n<\/li>\n<p><\/p>\n<li>\n<p><strong>Custom Controllers<\/strong><\/p>\n<p><\/p>\n<ul><\/p>\n<li>To manage the lifecycle of your custom resources, you need custom controllers. These are programs that watch for changes in the state of your custom resources and take action to implement the desired state.<\/li>\n<p>\n<\/ul>\n<p>\n<\/li>\n<p><\/p>\n<li><strong>Custom Resource Types<\/strong>\n<ul><\/p>\n<li>Once a CRD is established, you can create instances of your custom resource. These types can have various fields and specifications similar to built-in Kubernetes resources.<\/li>\n<p>\n<\/ul>\n<\/li>\n<p>\n<\/ol>\n<p><\/p>\n<h3>Implementing Custom Resources<\/h3>\n<p><\/p>\n<p>Let\u2019s walk through a brief example of how to create and consume a custom resource in Kubernetes.<\/p>\n<p><\/p>\n<h4>Step 1: Define Your Custom Resource<\/h4>\n<p><\/p>\n<p>First, define a Custom Resource Definition. Here\u2019s an example of a CRD for a simple <code>Database<\/code> resource.<\/p>\n<p><\/p>\n<p>yaml<br \/>\napiVersion: apiextensions.k8s.io\/v1<br \/>\nkind: CustomResourceDefinition<br \/>\nmetadata:<br \/>\nname: databases.wafatech.com<br \/>\nspec:<br \/>\ngroup: wafatech.com<br \/>\nversions:<\/p>\n<p><\/p>\n<ul><\/p>\n<li>name: v1<br \/>\nserved: true<br \/>\nstorage: true<br \/>\nschema:<br \/>\nopenAPIV3Schema:<br \/>\ntype: object<br \/>\nproperties:<br \/>\nspec:<br \/>\ntype: object<br \/>\nproperties:<br \/>\nengine:<br \/>\ntype: string<br \/>\nversion:<br \/>\ntype: string<br \/>\nstorage:<br \/>\ntype: integer<br \/>\nscope: Namespaced<br \/>\nnames:<br \/>\nplural: databases<br \/>\nsingular: database<br \/>\nkind: Database<\/li>\n<p>\n<\/ul>\n<p><\/p>\n<p>This YAML file defines a new custom resource called <code>Database<\/code> under the group <code>wafatech.com<\/code>.<\/p>\n<p><\/p>\n<h4>Step 2: Create an Instance of the Custom Resource<\/h4>\n<p><\/p>\n<p>Now that you have defined the CRD, you can create instances of the <code>Database<\/code> custom resource.<\/p>\n<p><\/p>\n<p>yaml<br \/>\napiVersion: wafatech.com\/v1<br \/>\nkind: Database<br \/>\nmetadata:<br \/>\nname: my-database<br \/>\nspec:<br \/>\nengine: postgresql<br \/>\nversion: &quot;13&quot;<br \/>\nstorage: 20<\/p>\n<p><\/p>\n<p>This YAML describes an instance of a <code>Database<\/code> named <code>my-database<\/code>, specifying its engine, version, and storage requirements.<\/p>\n<p><\/p>\n<h4>Step 3: Developing the Custom Controller<\/h4>\n<p><\/p>\n<p>The final step is to implement a custom controller that will watch for changes to <code>Database<\/code> resources and manage their lifecycle accordingly. This involves creating a Kubernetes controller, typically using a programming language like Go or Python, and employing client libraries to interact with the Kubernetes API.<\/p>\n<p><\/p>\n<h3>Use Cases for Custom Resources<\/h3>\n<p><\/p>\n<ul><\/p>\n<li><strong>Operational Automation<\/strong>: Manage complex deployments that require multiple components, ensuring that all parts operate cohesively.<\/li>\n<p><\/p>\n<li><strong>Application-Specific Abstractions<\/strong>: Create domain-specific custom resources that fit the specific requirements of your applications, be it a specialized database, a message queue, or a microservice.<\/li>\n<p><\/p>\n<li><strong>Complex Workflows<\/strong>: Model complex workflows or state machines within Kubernetes, allowing for better management of interdependent services.<\/li>\n<p>\n<\/ul>\n<p><\/p>\n<h3>Final Thoughts<\/h3>\n<p><\/p>\n<p>Custom resources represent one of the most powerful features in Kubernetes, allowing users to extend and tailor the platform to their particular use cases. By leveraging Custom Resource Definitions and custom controllers, teams can achieve robust, automated management of complex applications and workflows, all while maintaining the benefits of Kubernetes\u2019 declarative infrastructure.<\/p>\n<p><\/p>\n<p>As the Kubernetes ecosystem continues to evolve, understanding custom resources will become increasingly essential for anyone looking to harness the full potential of container orchestration. Whether you\u2019re managing microservices, deploying stateful applications, or automating workflow processes, custom resources can offer the structured flexibility needed to thrive in a cloud-native world.<\/p>\n<p><\/p>\n<hr \/>\n<p><\/p>\n<p>Explore more about Kubernetes and various extensions that empower modern cloud-native applications. Stay tuned to WafaTech Blogs for the latest insights!<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Kubernetes has fundamentally transformed how we manage and orchestrate containerized applications. One of its standout features is custom resources, which enable users to extend the Kubernetes API to suit their specific needs. In this article, we\u2019ll explore the concept of custom resources, their importance, and how to implement them for effective orchestration in your Kubernetes [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2742,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[213],"tags":[258,240,259,260,1507,217,657],"class_list":["post-2741","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kubernetes","tag-api","tag-custom","tag-deep","tag-dive","tag-extending","tag-kubernetes","tag-resources","et-has-post-format-content","et_post_format-et-post-format-standard"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.5 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Custom Resources in Kubernetes: A Deep Dive into Extending the API - WafaTech Blogs<\/title>\n<meta name=\"description\" content=\"Custom Resources in Kubernetes: A Deep Dive into Extending the API %\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Custom Resources in Kubernetes: A Deep Dive into Extending the API\" \/>\n<meta property=\"og:description\" content=\"Custom Resources in Kubernetes: A Deep Dive into Extending the API %\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/\" \/>\n<meta property=\"og:site_name\" content=\"WafaTech Blogs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/people\/WafaTech\/61560546351289\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-13T09:59:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wafatech.sa\/blog\/wp-content\/uploads\/2024\/06\/logo_big.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"2221\" \/>\n\t<meta property=\"og:image:height\" content=\"482\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"WafaTech SA\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wafatech_sa\" \/>\n<meta name=\"twitter:site\" content=\"@wafatech_sa\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"WafaTech SA\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/devops\\\/kubernetes\\\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/devops\\\/kubernetes\\\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\\\/\"},\"author\":{\"name\":\"WafaTech SA\",\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/#\\\/schema\\\/person\\\/1a5761fc0feb63ab59d295d7c2648f06\"},\"headline\":\"Custom Resources in Kubernetes: A Deep Dive into Extending the API\",\"datePublished\":\"2025-06-13T09:59:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/devops\\\/kubernetes\\\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\\\/\"},\"wordCount\":769,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/devops\\\/kubernetes\\\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/Custom-Resources-in-Kubernetes-A-Deep-Dive-into-Extending-the.png\",\"keywords\":[\"API\",\"Custom\",\"Deep\",\"Dive\",\"Extending\",\"Kubernetes\",\"Resources\"],\"articleSection\":[\"Kubernetes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/wafatech.sa\\\/blog\\\/devops\\\/kubernetes\\\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/devops\\\/kubernetes\\\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\\\/\",\"url\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/devops\\\/kubernetes\\\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\\\/\",\"name\":\"Custom Resources in Kubernetes: A Deep Dive into Extending the API - WafaTech Blogs\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/devops\\\/kubernetes\\\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/devops\\\/kubernetes\\\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/Custom-Resources-in-Kubernetes-A-Deep-Dive-into-Extending-the.png\",\"datePublished\":\"2025-06-13T09:59:32+00:00\",\"description\":\"Custom Resources in Kubernetes: A Deep Dive into Extending the API %\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/devops\\\/kubernetes\\\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wafatech.sa\\\/blog\\\/devops\\\/kubernetes\\\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/devops\\\/kubernetes\\\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/Custom-Resources-in-Kubernetes-A-Deep-Dive-into-Extending-the.png\",\"contentUrl\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/Custom-Resources-in-Kubernetes-A-Deep-Dive-into-Extending-the.png\",\"width\":1024,\"height\":1024,\"caption\":\"Extending Kubernetes API\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/devops\\\/kubernetes\\\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Custom Resources in Kubernetes: A Deep Dive into Extending the API\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/\",\"name\":\"WafaTech Blogs\",\"description\":\"Smart Technologies\",\"publisher\":{\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/#organization\"},\"alternateName\":\"WafaTech\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/#organization\",\"name\":\"WafaTech Blogs\",\"alternateName\":\"WafaTech\",\"url\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/logo_big.webp\",\"contentUrl\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/logo_big.webp\",\"width\":2221,\"height\":482,\"caption\":\"WafaTech Blogs\"},\"image\":{\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/people\\\/WafaTech\\\/61560546351289\\\/\",\"https:\\\/\\\/x.com\\\/wafatech_sa\",\"https:\\\/\\\/www.youtube.com\\\/@wafatech-sa\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/wafatech\\\/\"],\"description\":\"WafaTech, a leading Saudi IT services provider, specializes in cloud solutions, connectivity, and ICT services. Offering secure cloud infrastructure, high-speed internet, and ICT solutions like hosting, backup, and disaster recovery, WafaTech operates a Tier 3 data center at KAUST with ISO certifications. Regulated by CST, the company is committed to innovation, security, and customer satisfaction, empowering businesses in the digital age.\",\"email\":\"sales@wafatech.sa\",\"legalName\":\"Al-Wafa Al-Dhakia For Information Technology LLC\",\"foundingDate\":\"2013-01-08\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"11\",\"maxValue\":\"50\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/#\\\/schema\\\/person\\\/1a5761fc0feb63ab59d295d7c2648f06\",\"name\":\"WafaTech SA\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fde877f001a2e0497276edc0684d3ba2a416c0de8caeb8e785076a1b1b932b3a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fde877f001a2e0497276edc0684d3ba2a416c0de8caeb8e785076a1b1b932b3a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fde877f001a2e0497276edc0684d3ba2a416c0de8caeb8e785076a1b1b932b3a?s=96&d=mm&r=g\",\"caption\":\"WafaTech SA\"},\"url\":\"https:\\\/\\\/wafatech.sa\\\/blog\\\/author\\\/omer-yaseen\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Custom Resources in Kubernetes: A Deep Dive into Extending the API - WafaTech Blogs","description":"Custom Resources in Kubernetes: A Deep Dive into Extending the API %","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:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/","og_locale":"en_US","og_type":"article","og_title":"Custom Resources in Kubernetes: A Deep Dive into Extending the API","og_description":"Custom Resources in Kubernetes: A Deep Dive into Extending the API %","og_url":"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/","og_site_name":"WafaTech Blogs","article_publisher":"https:\/\/www.facebook.com\/people\/WafaTech\/61560546351289\/","article_published_time":"2025-06-13T09:59:32+00:00","og_image":[{"width":2221,"height":482,"url":"https:\/\/wafatech.sa\/blog\/wp-content\/uploads\/2024\/06\/logo_big.webp","type":"image\/webp"}],"author":"WafaTech SA","twitter_card":"summary_large_image","twitter_creator":"@wafatech_sa","twitter_site":"@wafatech_sa","twitter_misc":{"Written by":"WafaTech SA","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/#article","isPartOf":{"@id":"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/"},"author":{"name":"WafaTech SA","@id":"https:\/\/wafatech.sa\/blog\/#\/schema\/person\/1a5761fc0feb63ab59d295d7c2648f06"},"headline":"Custom Resources in Kubernetes: A Deep Dive into Extending the API","datePublished":"2025-06-13T09:59:32+00:00","mainEntityOfPage":{"@id":"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/"},"wordCount":769,"commentCount":0,"publisher":{"@id":"https:\/\/wafatech.sa\/blog\/#organization"},"image":{"@id":"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/#primaryimage"},"thumbnailUrl":"https:\/\/wafatech.sa\/blog\/wp-content\/uploads\/2025\/06\/Custom-Resources-in-Kubernetes-A-Deep-Dive-into-Extending-the.png","keywords":["API","Custom","Deep","Dive","Extending","Kubernetes","Resources"],"articleSection":["Kubernetes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/","url":"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/","name":"Custom Resources in Kubernetes: A Deep Dive into Extending the API - WafaTech Blogs","isPartOf":{"@id":"https:\/\/wafatech.sa\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/#primaryimage"},"image":{"@id":"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/#primaryimage"},"thumbnailUrl":"https:\/\/wafatech.sa\/blog\/wp-content\/uploads\/2025\/06\/Custom-Resources-in-Kubernetes-A-Deep-Dive-into-Extending-the.png","datePublished":"2025-06-13T09:59:32+00:00","description":"Custom Resources in Kubernetes: A Deep Dive into Extending the API %","breadcrumb":{"@id":"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/#primaryimage","url":"https:\/\/wafatech.sa\/blog\/wp-content\/uploads\/2025\/06\/Custom-Resources-in-Kubernetes-A-Deep-Dive-into-Extending-the.png","contentUrl":"https:\/\/wafatech.sa\/blog\/wp-content\/uploads\/2025\/06\/Custom-Resources-in-Kubernetes-A-Deep-Dive-into-Extending-the.png","width":1024,"height":1024,"caption":"Extending Kubernetes API"},{"@type":"BreadcrumbList","@id":"https:\/\/wafatech.sa\/blog\/devops\/kubernetes\/custom-resources-in-kubernetes-a-deep-dive-into-extending-the-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wafatech.sa\/blog\/"},{"@type":"ListItem","position":2,"name":"Custom Resources in Kubernetes: A Deep Dive into Extending the API"}]},{"@type":"WebSite","@id":"https:\/\/wafatech.sa\/blog\/#website","url":"https:\/\/wafatech.sa\/blog\/","name":"WafaTech Blogs","description":"Smart Technologies","publisher":{"@id":"https:\/\/wafatech.sa\/blog\/#organization"},"alternateName":"WafaTech","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wafatech.sa\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/wafatech.sa\/blog\/#organization","name":"WafaTech Blogs","alternateName":"WafaTech","url":"https:\/\/wafatech.sa\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wafatech.sa\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/wafatech.sa\/blog\/wp-content\/uploads\/2024\/06\/logo_big.webp","contentUrl":"https:\/\/wafatech.sa\/blog\/wp-content\/uploads\/2024\/06\/logo_big.webp","width":2221,"height":482,"caption":"WafaTech Blogs"},"image":{"@id":"https:\/\/wafatech.sa\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/people\/WafaTech\/61560546351289\/","https:\/\/x.com\/wafatech_sa","https:\/\/www.youtube.com\/@wafatech-sa","https:\/\/www.linkedin.com\/company\/wafatech\/"],"description":"WafaTech, a leading Saudi IT services provider, specializes in cloud solutions, connectivity, and ICT services. Offering secure cloud infrastructure, high-speed internet, and ICT solutions like hosting, backup, and disaster recovery, WafaTech operates a Tier 3 data center at KAUST with ISO certifications. Regulated by CST, the company is committed to innovation, security, and customer satisfaction, empowering businesses in the digital age.","email":"sales@wafatech.sa","legalName":"Al-Wafa Al-Dhakia For Information Technology LLC","foundingDate":"2013-01-08","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"11","maxValue":"50"}},{"@type":"Person","@id":"https:\/\/wafatech.sa\/blog\/#\/schema\/person\/1a5761fc0feb63ab59d295d7c2648f06","name":"WafaTech SA","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/fde877f001a2e0497276edc0684d3ba2a416c0de8caeb8e785076a1b1b932b3a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/fde877f001a2e0497276edc0684d3ba2a416c0de8caeb8e785076a1b1b932b3a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fde877f001a2e0497276edc0684d3ba2a416c0de8caeb8e785076a1b1b932b3a?s=96&d=mm&r=g","caption":"WafaTech SA"},"url":"https:\/\/wafatech.sa\/blog\/author\/omer-yaseen\/"}]}},"jetpack_featured_media_url":"https:\/\/wafatech.sa\/blog\/wp-content\/uploads\/2025\/06\/Custom-Resources-in-Kubernetes-A-Deep-Dive-into-Extending-the.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wafatech.sa\/blog\/wp-json\/wp\/v2\/posts\/2741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wafatech.sa\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wafatech.sa\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wafatech.sa\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wafatech.sa\/blog\/wp-json\/wp\/v2\/comments?post=2741"}],"version-history":[{"count":0,"href":"https:\/\/wafatech.sa\/blog\/wp-json\/wp\/v2\/posts\/2741\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wafatech.sa\/blog\/wp-json\/wp\/v2\/media\/2742"}],"wp:attachment":[{"href":"https:\/\/wafatech.sa\/blog\/wp-json\/wp\/v2\/media?parent=2741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wafatech.sa\/blog\/wp-json\/wp\/v2\/categories?post=2741"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wafatech.sa\/blog\/wp-json\/wp\/v2\/tags?post=2741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}