{"id":350178,"date":"2021-10-08T15:29:46","date_gmt":"2021-10-08T12:29:46","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/how-to-use-configmaps-for-kubernetes-configuration-cloudsavvy-it\/"},"modified":"2021-10-08T15:29:46","modified_gmt":"2021-10-08T12:29:46","slug":"how-to-use-configmaps-for-kubernetes-configuration-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/how-to-use-configmaps-for-kubernetes-configuration-cloudsavvy-it\/","title":{"rendered":"#How to Use ConfigMaps For Kubernetes Configuration \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 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-6a41cad9c6ac5\" 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: #dd3333;color:#dd3333\" 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: #dd3333;color:#dd3333\" 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-6a41cad9c6ac5\" checked 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:\/\/buradabiliyorum.com\/en\/how-to-use-configmaps-for-kubernetes-configuration-cloudsavvy-it\/#What_Are_ConfigMaps_For\" >What Are ConfigMaps For?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-configmaps-for-kubernetes-configuration-cloudsavvy-it\/#What_Not_to_Use_Them_For\" >What Not to Use Them For?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-configmaps-for-kubernetes-configuration-cloudsavvy-it\/#Creating_a_ConfigMap\" >Creating a ConfigMap<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-configmaps-for-kubernetes-configuration-cloudsavvy-it\/#Linking_ConfigMaps_and_Pods\" >Linking ConfigMaps and Pods<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-configmaps-for-kubernetes-configuration-cloudsavvy-it\/#Selectively_Adding_Environment_Variables\" >Selectively Adding Environment Variables<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-configmaps-for-kubernetes-configuration-cloudsavvy-it\/#Using_ConfigMaps_With_Volumes\" >Using ConfigMaps With Volumes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-configmaps-for-kubernetes-configuration-cloudsavvy-it\/#Updating_ConfigMap_Values\" >Updating ConfigMap Values<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-configmaps-for-kubernetes-configuration-cloudsavvy-it\/#Mounted_Volumes\" >Mounted Volumes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-configmaps-for-kubernetes-configuration-cloudsavvy-it\/#Environment_Variables\" >Environment Variables<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-configmaps-for-kubernetes-configuration-cloudsavvy-it\/#Immutable_ConfigMaps\" >Immutable ConfigMaps<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-configmaps-for-kubernetes-configuration-cloudsavvy-it\/#Summary\" >Summary<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#How to Use ConfigMaps For Kubernetes Configuration \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage aligncenter size-full wp-image-9632\" srcset=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/02\/748108a6.jpg?width=398&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 400w, https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/02\/748108a6.jpg?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 1200w\" sizes=\"auto, 400w, 1200w\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/02\/748108a6.jpg?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"Graphic showing the Kubernetes logo\" width=\"1602\" height=\"902\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>A ConfigMap is a Kubernetes resource for injecting configuration into your containers. They let you maintain your stack\u2019s settings separately from its code. Here\u2019s how to work with ConfigMaps and supply them to your Pods.<\/p>\n<h2 id=\"what-are-configmaps-for\"><span class=\"ez-toc-section\" id=\"What_Are_ConfigMaps_For\"><\/span>What Are ConfigMaps For?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/configmap\/\">ConfigMaps are<\/a> specifically designed to encapsulate small amounts of non-sensitive configuration data. They\u2019re a mechanism for getting arbitrary key-value pairs into your Pods. They\u2019re commonly used to store your database server\u2019s IP address, the outgoing email address for your <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">app<\/a>lication, and other application-specific settings which you need to be configurable outside your Pods.<\/p>\n<p>The ConfigMap lets you manage this data in a dedicated Kubernetes resource. Pods receive the key-value pairs as environment variables or files in a mounted volume.<\/p>\n<h2 id=\"what-not-to-use-them-for\"><span class=\"ez-toc-section\" id=\"What_Not_to_Use_Them_For\"><\/span>What Not to Use Them For?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>There are some situations where a ConfigMap should <em>not<\/em> be used.<\/p>\n<p>ConfigMaps are not stored securely and their values have no encryption. They mustn\u2019t contain any sensitive or confidential data which would constitute a security or privacy risk if leaked.<\/p>\n<p>Don\u2019t put passwords, API keys, or encryption keys into a ConfigMap \u2013 use a Kubernetes Secret instead, as these function similarly to ConfigMaps but with additional protections. Systems needing a database connection should place the hostname in a ConfigMap and credentials in a separate Secret.<\/p>\n<p>Individual ConfigMaps cannot exceed 1 MB in size. Systems which need more configuration keys may be better served by an alternative approach such as injection of manually generated config files via a volume.<\/p>\n<p>If you want to stick with ConfigMaps, consider splitting your configuration across multiple ConfigMap resources. This approach should avoid the 1 MB cap while letting you supply each of your Pods with the minimal set of config keys it needs.<\/p>\n<p>ConfigMap values can be either UTF-8 strings or binary data encoded as a base64 string. Key names can contain alphanumeric, <code>.<\/code> (period), <code>-<\/code> (hyphen), and <code>_<\/code> (underscore) characters. Some programming languages and frameworks may have a different convention for config variables so make sure you use a format that\u2019s supported by both Kubernetes and your app.<\/p>\n<h2 id=\"creating-a-configmap\"><span class=\"ez-toc-section\" id=\"Creating_a_ConfigMap\"><\/span>Creating a ConfigMap<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>ConfigMaps have simple YAML manifests. Each ConfigMap needs a <code>name<\/code> in the standard Kubernetes format and a <code>data<\/code> field containing your key-value pairs:<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"yaml\">\n<pre class=\"de1\"><span class=\"co3\">apiVersion<\/span><span class=\"sy2\">: <\/span>v1<span class=\"co3\">\nkind<\/span><span class=\"sy2\">: <\/span>ConfigMap<span class=\"co4\">\nmetadata<\/span>:<span class=\"co3\">\n  name<\/span><span class=\"sy2\">: <\/span>example-configmap<span class=\"co4\">\ndata<\/span>:<span class=\"co3\">\n  database_host<\/span><span class=\"sy2\">: <\/span><span class=\"st0\">\"192.168.0.10\"<\/span><span class=\"co3\">\n  system_email<\/span><span class=\"sy2\">: <\/span><span class=\"st0\">\"k8s@example.com\"<\/span><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>The <code>data<\/code> field is for specifying keys with string values. You can use <code>binaryData<\/code> instead or as well as <code>data<\/code> to add base64-encoded binary values. Keys must be unique across both <code>data<\/code> and <code>binaryData<\/code>.<\/p>\n<p>Apply the manifest to your cluster using <code>kubectl<\/code> or your preferred tool.<\/p>\n<h2 id=\"linking-configmaps-and-pods\"><span class=\"ez-toc-section\" id=\"Linking_ConfigMaps_and_Pods\"><\/span>Linking ConfigMaps and Pods<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>A ConfigMap doesn\u2019t do anything on its own. You\u2019ve added some data to your cluster; now let\u2019s link it to a Pod:<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"yaml\">\n<pre class=\"de1\"><span class=\"co3\">apiVersion<\/span><span class=\"sy2\">: <\/span>v1<span class=\"co3\">\nkind<\/span><span class=\"sy2\">: <\/span>Pod<span class=\"co4\">\nmetadata<\/span>:<span class=\"co3\">\n  name<\/span><span class=\"sy2\">: <\/span>example-pod<span class=\"co4\">\nspec<\/span>:<span class=\"co4\">\n  containers<\/span>:<span class=\"co3\">\n    - name<\/span><span class=\"sy2\">: <\/span>example-container<span class=\"co3\">\n      image<\/span><span class=\"sy2\">: <\/span>example-image:latest<span class=\"co4\">\n      envFrom<\/span>:<span class=\"co4\">\n        - configMapRef<\/span>:<span class=\"co3\">\n            name<\/span><span class=\"sy2\">: <\/span>example-configmap<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>The <code>envFrom<\/code> field pulls in environment variables defined by another referenced resource. In this case, a <code>configMapRef<\/code> identifies the ConfigMap created earlier. The Pod\u2019s containers will be started with <code>database_host<\/code> and <code>system_email<\/code> environment variables defined.<\/p>\n<h2 id=\"selectively-adding-environment-variables\"><span class=\"ez-toc-section\" id=\"Selectively_Adding_Environment_Variables\"><\/span>Selectively Adding Environment Variables<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><code>envFrom<\/code> is useful when you want to consume every key in the ConfigMap and you\u2019re certain there\u2019ll be no conflicts with your Pod\u2019s other environment variables. In more controlled situations, use a regular <code>env<\/code> section, define individual keys, and pull the value of each key from the ConfigMap:<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"yaml\">\n<pre class=\"de1\"><span class=\"co4\">env<\/span>:<span class=\"co3\">\n  - name<\/span><span class=\"sy2\">: <\/span>DATABASE_HOST_IP<span class=\"co4\">\n    valueFrom<\/span>:<span class=\"co4\">\n      configMapKeyRef<\/span>:<span class=\"co3\">\n        name<\/span><span class=\"sy2\">: <\/span>example-configmap<span class=\"co3\">\n        key<\/span><span class=\"sy2\">: <\/span>database_host<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>This example shows how a Pod can be started with just the <code>database_host<\/code> key from the ConfigMap. The key is also renamed before injection so the Pod will receive it as <code>DATABASE_HOST_IP<\/code>.<\/p>\n<h2 id=\"using-configmaps-with-volumes\"><span class=\"ez-toc-section\" id=\"Using_ConfigMaps_With_Volumes\"><\/span>Using ConfigMaps With Volumes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>ConfigMaps can be mounted as files inside Pods. Kubernetes creates a volume, injects the ConfigMap\u2019s content as a set of files, and mounts the volume to your Pod.<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"yaml\">\n<pre class=\"de1\"><span class=\"co3\">apiVersion<\/span><span class=\"sy2\">: <\/span>v1<span class=\"co3\">\nkind<\/span><span class=\"sy2\">: <\/span>Pod<span class=\"co4\">\nmetadata<\/span>:<span class=\"co3\">\n  name<\/span><span class=\"sy2\">: <\/span>example-pod<span class=\"co4\">\nspec<\/span>:<span class=\"co4\">\n  containers<\/span>:<span class=\"co3\">\n    - name<\/span><span class=\"sy2\">: <\/span>example-container<span class=\"co3\">\n      image<\/span><span class=\"sy2\">: <\/span>example-image:latest<span class=\"co4\">\n      volumeMounts<\/span>:<span class=\"co3\">\n        - name<\/span><span class=\"sy2\">: <\/span>app-config<span class=\"co3\">\n          mountPath<\/span><span class=\"sy2\">: <\/span><span class=\"st0\">\"\/etc\/config-data\"<\/span><span class=\"co3\">\n          readOnly<\/span><span class=\"sy2\">: <\/span>true<span class=\"co4\">\n  volumes<\/span>:<span class=\"co3\">\n    - name<\/span><span class=\"sy2\">: <\/span>app-config<span class=\"co4\">\n      configMap<\/span>:<span class=\"co3\">\n        name<\/span><span class=\"sy2\">: <\/span>example-configmap<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>This Pod manifest creates a volume called <code>app-config<\/code>. The <code>configMap<\/code> field will pre-populate the volume using the data in the specified ConfigMap.<\/p>\n<p>The Pod mounts the volume to <code>\/etc\/config-data<\/code>. Your containers can read the files within the directory to access your config values. Each ConfigMap key will have its own file within the mount point.<\/p>\n<h2 id=\"updating-configmap-values\"><span class=\"ez-toc-section\" id=\"Updating_ConfigMap_Values\"><\/span>Updating ConfigMap Values<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>As a ConfigMap is a standard Kubernetes API resource, you can update values at any time by modifying your manifest and re-applying it to your cluster. How the new values reach your Pods depends on the injection mechanism you\u2019re using.<\/p>\n<h3 id=\"mounted-volumes\"><span class=\"ez-toc-section\" id=\"Mounted_Volumes\"><\/span>Mounted Volumes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>ConfigMaps mounted into Pods via a volume will be updated by Kubernetes. Changes to ConfigMaps are checked periodically; when a difference is detected, the files in your volume will be updated, so your Pod will receive the new data. The delay <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/configmap\/#mounted-configmaps-are-updated-automatically\">depends on<\/a> the sync interval configured for the Kubelet instances on your worker nodes.<\/p>\n<h3 id=\"environment-variables\"><span class=\"ez-toc-section\" id=\"Environment_Variables\"><\/span>Environment Variables<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Changing a Pod\u2019s environment variables isn\u2019t possible so ConfigMap changes won\u2019t reach existing Pods that are referencing keys via this mechanism. You must replace your Pods to use the new data.<\/p>\n<p>Newly created Pods will always receive the current ConfigMap data, irrespective of whether you\u2019re using volumes or environment variables. If you need to force a config update, change an annotation on your Pod so Kubernetes recreates it.<\/p>\n<h2 id=\"immutable-configmaps\"><span class=\"ez-toc-section\" id=\"Immutable_ConfigMaps\"><\/span>Immutable ConfigMaps<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>ConfigMaps have an optional <code>immutable<\/code> field that prevents them from being updated. When this field is set, you can\u2019t update the ConfigMap\u2019s data or remove the immutable status.<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"yaml\">\n<pre class=\"de1\"><span class=\"co3\">apiVersion<\/span><span class=\"sy2\">: <\/span>v1<span class=\"co3\">\nkind<\/span><span class=\"sy2\">: <\/span>ConfigMap<span class=\"co4\">\nmetadata<\/span>:<span class=\"co3\">\n  name<\/span><span class=\"sy2\">: <\/span>immutable-configmap<span class=\"co4\">\ndata<\/span>:<span class=\"co3\">\n  foo<\/span><span class=\"sy2\">: <\/span>bar<span class=\"co3\">\nimmutable<\/span><span class=\"sy2\">: <\/span>true<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>This can be useful when you\u2019re certain that config values will never change. It improves safety by removing the possibility of accidental edits. Performance can also be improved as Kubernetes no longer needs to monitor the ConfigMap to propagate any value changes into your Pods.<\/p>\n<h2 id=\"summary\"><span class=\"ez-toc-section\" id=\"Summary\"><\/span>Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>ConfigMaps should be your go-to for supplying non-sensitive configuration keys to your Kubernetes Pods. They\u2019re a first-class API resource which you can consume as environment variables or mounted files in volumes.<\/p>\n<p>Passwords and other credentials belong in Secrets. These function very similarly to ConfigMaps and are referenced by Pods in the same way. Substitute <code>configMapRef<\/code> with <code>secretRef<\/code> to pull a key out of a named Secret instead of a ConfigMap.\n<\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.cloudsavvyit.com\/14241\/how-to-use-configmaps-for-kubernetes-configuration\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#How to Use ConfigMaps For Kubernetes Configuration \u2013 CloudSavvy IT&#8221; A ConfigMap is a Kubernetes resource for injecting configuration into your containers. They let you maintain your stack\u2019s settings separately from its code. Here\u2019s how to work with ConfigMaps and supply them to your Pods. What Are ConfigMaps For? ConfigMaps are specifically designed to encapsulate&#8230;<\/p>\n","protected":false},"author":1,"featured_media":350179,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/02\/748108a6.jpg","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-350178","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/350178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=350178"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/350178\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/350179"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=350178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=350178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=350178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}