{"id":365501,"date":"2021-11-11T15:00:58","date_gmt":"2021-11-11T12:00:58","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/using-kubernetes-annotations-labels-and-selectors-cloudsavvy-it\/"},"modified":"2021-11-11T15:00:58","modified_gmt":"2021-11-11T12:00:58","slug":"using-kubernetes-annotations-labels-and-selectors-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/using-kubernetes-annotations-labels-and-selectors-cloudsavvy-it\/","title":{"rendered":"#Using Kubernetes Annotations, Labels, and Selectors \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 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-6a26b73608b59\" 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-6a26b73608b59\" 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\/using-kubernetes-annotations-labels-and-selectors-cloudsavvy-it\/#Annotations\" >Annotations<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/using-kubernetes-annotations-labels-and-selectors-cloudsavvy-it\/#Setting_Annotations\" >Setting Annotations<\/a><\/li><\/ul><\/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\/using-kubernetes-annotations-labels-and-selectors-cloudsavvy-it\/#Labels\" >Labels<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/using-kubernetes-annotations-labels-and-selectors-cloudsavvy-it\/#Setting_Labels\" >Setting Labels<\/a><\/li><\/ul><\/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\/using-kubernetes-annotations-labels-and-selectors-cloudsavvy-it\/#Selectors\" >Selectors<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/buradabiliyorum.com\/en\/using-kubernetes-annotations-labels-and-selectors-cloudsavvy-it\/#Selectors_in_Kubectl\" >Selectors in Kubectl<\/a><\/li><\/ul><\/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\/using-kubernetes-annotations-labels-and-selectors-cloudsavvy-it\/#Summary\" >Summary<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#Using Kubernetes Annotations, Labels, and Selectors \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<figure style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage size-full wp-image-14259\" srcset=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/09\/51f36739.jpg?width=398&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 400w, https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/09\/51f36739.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\/09\/51f36739.jpg?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"Photo of the Kubernetes logo showing on a smartphone\" width=\"1200\" height=\"675\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><figcaption class=\"wp-caption-text\"><span class=\"type:primaryImage imagecredit\"><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.shutterstock.com\/image-photo\/konskie-poland-december-21-2019-kubernetes-1609677781\">Piotr Swat\/Shutterstock.com<\/a><\/span><\/figcaption><\/figure>\n<p>Annotations, labels, and selectors are used to manage metadata attached to your Kubernetes objects. Annotations and labels define the data while selectors provide a way to query it.<\/p>\n<p>Here are the differences between the three concepts, what they\u2019re designed for, and how you can use them to manage your resources.<\/p>\n<h2 id=\"annotations\"><span class=\"ez-toc-section\" id=\"Annotations\"><\/span>Annotations<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/working-with-objects\/annotations\">Kubernetes documentation defines<\/a> annotations as \u201carbitrary non-identifying metadata\u201d which you add to your objects. Their status as \u201cnon-identifying\u201d means they aren\u2019t used internally by Kubernetes as part of its object selection system.<\/p>\n<p>This means annotations are best used for data that\u2019s independent of the object and its role in your cluster. You could use them to add information about the tool that created an object, define who\u2019s responsible for its management, or add tags to be picked up by external tools.<\/p>\n<p>There\u2019s no restrictions on what you use annotations for. As long as your data can be expressed as a key-value pair, you can create an annotation that encapsulates it. The model lets you store useful data directly alongside your objects, instead of having to refer to external documentation or databases.<\/p>\n<h3 id=\"setting-annotations\"><span class=\"ez-toc-section\" id=\"Setting_Annotations\"><\/span>Setting Annotations<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Annotations are defined as part of a resource\u2019s <code>metadata<\/code> field. They\u2019re simple key-value pairs. The key needs to be 63 characters or less and can include alphanumeric characters, dashes, underscores, and dots. It must start and end with an alphanumeric character.<\/p>\n<p>Keys also support an optional prefix which must be a valid DNS subdomain. Prefixes are used to namespace your annotation keys, avoiding collisions between common annotations like <code>name<\/code> and <code>version<\/code>. When a prefix is used, a slash character separates it from the key.<\/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>pod-with-annotations<span class=\"co4\">\n  annotations<\/span>:<span class=\"co3\">\n    unprefixed-annotation<\/span><span class=\"sy2\">: <\/span><span class=\"st0\">\"value\"<\/span><span class=\"co3\">\n    cloudsavvyit.com\/prefixed-annotation<\/span><span class=\"sy2\">: <\/span><span class=\"st0\">\"another value\"<\/span><span class=\"co4\">\nspec<\/span><span class=\"sy2\">:\n<\/span>  <span class=\"co1\"># &lt;omitted&gt;<\/span><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>This example demonstrates both prefixed and unprefixed annotations.<\/p>\n<p>You can retrieve the annotations that have been set on an object using Kubectl. There\u2019s no built-in command so you need to get the JSON or YAML definition of the object, then extract the value of the <code>annotations<\/code> field. Here\u2019s an example that displays the annotations associated with the Pod shown above:<\/p>\n<pre>kubectl get pod pod-with-annotations -o jsonpath=\"{.metadata.annotations}\"<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14565\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/10\/16fc3a1f.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"1177\" height=\"226\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<h2 id=\"labels\"><span class=\"ez-toc-section\" id=\"Labels\"><\/span>Labels<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Labels are another form of metadata which you can attach to your resources. The <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/working-with-objects\/labels\">documentation describes<\/a> the role of labels as \u201cidentifying attributes of objects that are meaningful and relevant to users\u201d but independent of the properties of the core system.<\/p>\n<p>Whereas annotations are intentionally purposeless, capable of representing any arbitrary data, labels are meant for more formal situations. They\u2019re commonly used to represent processes and organizational structures. You might use labels to denote a resource\u2019s release status (such as <code>beta<\/code> or <code>stable<\/code>) or the development stage it maps to (<code>build<\/code> or <code>qa<\/code>).<\/p>\n<p>Labels can be used as selectors when referencing objects. This is a key difference compared to annotations which aren\u2019t supported as selectors. Here\u2019s a Pod which selects Nodes that have the <code>node-environment: production<\/code> label:<\/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>pod-with-node-selector<span class=\"co4\">\nspec<\/span>:<span class=\"co4\">\n  containers<\/span><span class=\"sy2\">:\n<\/span>    <span class=\"co1\"># &lt;omitted&gt;<\/span><span class=\"co4\">\n  nodeSelector<\/span>:<span class=\"co3\">\n    node-environment<\/span><span class=\"sy2\">: <\/span>production<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h3 id=\"setting-labels\"><span class=\"ez-toc-section\" id=\"Setting_Labels\"><\/span>Setting Labels<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Labels are attached to objects in the same way as annotations. Add a <code>labels<\/code> field to the object\u2019s <code>metadata<\/code>, then populate it with key-value pairs. Labels possess the same constraints around key names and prefixes.<\/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>pod-with-labels<span class=\"co4\">\n  labels<\/span>:<span class=\"co3\">\n    cloudsavvyit.com\/environment<\/span><span class=\"sy2\">: <\/span>stable<span class=\"co4\">\nspec<\/span><span class=\"sy2\">:\n<\/span>  <span class=\"co1\"># &lt;omitted&gt;<\/span><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>You can retrieve an object\u2019s labels using Kubectl with the same technique as shown earlier. Get the object\u2019s JSON representation, then extract the <code>labels<\/code> field:<\/p>\n<pre>kubectl get pod pod-with-labels -o jsonpath=\"{.metadata.labels}\"<\/pre>\n<p>Kubectl also supports a <code>--show-labels<\/code> flag to include labels in human-readable output tables:<\/p>\n<pre>kubectl get pods --show-labels<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14566\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/10\/95f63656.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"1403\" height=\"92\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<h2 id=\"selectors\"><span class=\"ez-toc-section\" id=\"Selectors\"><\/span>Selectors<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Selectors are used within Kubernetes object definitions to reference other objects. Different types of selectors are available to pull in objects that possess certain characteristics.<\/p>\n<p>In the example above, we used a selector to identify Nodes with a particular label. Here\u2019s a Deployment object that uses an explicit label selector to identify the Pods it should manage:<\/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><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>s\/v1<span class=\"co3\">\nkind<\/span><span class=\"sy2\">: <\/span>Deployment<span class=\"co4\">\nmetadata<\/span>:<span class=\"co3\">\n  name<\/span><span class=\"sy2\">: <\/span>deployment<span class=\"co4\">\nspec<\/span>:<span class=\"co4\">\n  selector<\/span>:<span class=\"co4\">\n    matchLabels<\/span>:<span class=\"co3\">\n      cloudsavvyit.com\/app<\/span><span class=\"sy2\">: <\/span>selectors-demo<span class=\"co3\">\n  replicas<\/span><span class=\"sy2\">: <\/span>3<span class=\"co4\">\n  template<\/span>:<span class=\"co4\">\n    metadata<\/span>:<span class=\"co4\">\n      labels<\/span>:<span class=\"co3\">\n        cloudsavvyit.com\/app<\/span><span class=\"sy2\">: <\/span>selectors-demo<span class=\"co4\">\n    spec<\/span><span class=\"sy2\">:\n<\/span>      <span class=\"co1\"># &lt;omitted&gt;<\/span><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>The Deployment\u2019s <code>template<\/code> will create Pods that have the <code>cloudsavvyit.com\/app<\/code> label set. These will be matched by the <code>selector<\/code> so they become part of the Deployment.<\/p>\n<h3 id=\"selectors-in-kubectl\"><span class=\"ez-toc-section\" id=\"Selectors_in_Kubectl\"><\/span>Selectors in Kubectl<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>You can use a form of selector to filter the objects that are returned by Kubectl:<\/p>\n<pre>kubectl get pods -l cloudsavvyit.com\/app=selectors-demo<\/pre>\n<p>Label-based queries support several kinds of comparison operator. These include equality-based and set-based comparisons:<\/p>\n<ul>\n<li><code>=<\/code> \u2013 The label value is equal to a given value.<\/li>\n<li><code>==<\/code> \u2013 The label value is strictly equal to a given value.<\/li>\n<li><code>!=<\/code> \u2013 The label value is not equal to a given value.<\/li>\n<li><code>in<\/code> \u2013 The label value is one of a set of given values.<\/li>\n<li><code>notin<\/code> \u2013 The label value is not in a set of given values.<\/li>\n<li><code>exists<\/code> \u2013 The label exists on the object.<\/li>\n<\/ul>\n<p>Here\u2019s an example of using the <code>in<\/code> operator to query objects that are in the staging or production environments:<\/p>\n<pre>kubectl get pods -l \"environment in (dev, production)\"<\/pre>\n<h2 id=\"summary\"><span class=\"ez-toc-section\" id=\"Summary\"><\/span>Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Annotations and Labels are two ways to add metadata to your Kubernetes objects. Annotations are for non-identifying data that won\u2019t be referenced by Kubernetes. Labels are used to identify objects so that they can be selected by other Kubernetes resources.<\/p>\n<p>It\u2019s best to use an annotation if you won\u2019t be querying for objects with the key-value pair. Use a label if you\u2019ll be referencing it within another resource or using it to filter Kubectl output in your terminal.<\/p>\n<p>When working with labels, several forms of selector are available to help you access the data you need. Annotations are a little trickier to access as they\u2019re <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/issues\/18801#issuecomment-530025542\">not meant to be queried<\/a> but you can still list them by viewing the JSON representation of a Kubernetes object.\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\/14553\/using-kubernetes-annotations-labels-and-selectors\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#Using Kubernetes Annotations, Labels, and Selectors \u2013 CloudSavvy IT&#8221; Piotr Swat\/Shutterstock.com Annotations, labels, and selectors are used to manage metadata attached to your Kubernetes objects. Annotations and labels define the data while selectors provide a way to query it. Here are the differences between the three concepts, what they\u2019re designed for, and how you can&#8230;<\/p>\n","protected":false},"author":1,"featured_media":365502,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/09\/51f36739.jpg","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-365501","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\/365501","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=365501"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/365501\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/365502"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=365501"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=365501"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=365501"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}