diff --git a/pr-preview/pr-974/chunk-map.json b/pr-preview/pr-974/chunk-map.json
index 3eeba22fc..b398a06f1 100644
--- a/pr-preview/pr-974/chunk-map.json
+++ b/pr-preview/pr-974/chunk-map.json
@@ -1 +1 @@
-{"polyfill":["/polyfill-8d34c62e07e660a83f29.js"],"app":["/app-fe1df843bc5032f42db1.js"],"component---cache-caches-gatsby-plugin-offline-app-shell-js":["/component---cache-caches-gatsby-plugin-offline-app-shell-js-099d9276a41f4ba01a3c.js"],"component---docs-completion-md":["/component---docs-completion-md-3d444c7b31269f9b6ec9.js"],"component---docs-config-md":["/component---docs-config-md-b129057e083bbcf09ffa.js"],"component---docs-diff-strategy-md":["/component---docs-diff-strategy-md-bd3d2d2e7acc151ffe31.js"],"component---docs-directory-structure-md":["/component---docs-directory-structure-md-6dea361c21c6279c45b0.js"],"component---docs-env-vars-md":["/component---docs-env-vars-md-102b70747bbd7865e8e8.js"],"component---docs-exporting-md":["/component---docs-exporting-md-e3c520ed1cc2df15aafc.js"],"component---docs-faq-md":["/component---docs-faq-md-5e30ff990ba5de27e68d.js"],"component---docs-formatting-md":["/component---docs-formatting-md-0886509974e2523e2e68.js"],"component---docs-garbage-collection-md":["/component---docs-garbage-collection-md-9e3ddba81e297bbaee58.js"],"component---docs-helm-mdx":["/component---docs-helm-mdx-66915b8a90082eae9ee5.js"],"component---docs-inline-environments-mdx":["/component---docs-inline-environments-mdx-438dd359ab9fafbc9e4f.js"],"component---docs-installation-mdx":["/component---docs-installation-mdx-098e61d7d42fc927a388.js"],"component---docs-introduction-mdx":["/component---docs-introduction-mdx-53424fcd5b068bb753bd.js"],"component---docs-jsonnet-injecting-values-md":["/component---docs-jsonnet-injecting-values-md-a2e9fadf417770db1b80.js"],"component---docs-jsonnet-main-md":["/component---docs-jsonnet-main-md-041efed1c891707fb3eb.js"],"component---docs-jsonnet-native-functions-md":["/component---docs-jsonnet-native-functions-md-2b62620b62d073a3473b.js"],"component---docs-jsonnet-overview-md":["/component---docs-jsonnet-overview-md-f7d8d3da6005892868a0.js"],"component---docs-known-issues-md":["/component---docs-known-issues-md-2b1c7bae83f2275bce8c.js"],"component---docs-kustomize-mdx":["/component---docs-kustomize-mdx-b8de0a9f83d04b2d49d5.js"],"component---docs-libraries-import-paths-md":["/component---docs-libraries-import-paths-md-421d47718426d7f0ac13.js"],"component---docs-libraries-install-publish-md":["/component---docs-libraries-install-publish-md-1cb5bebde0944f8f75bb.js"],"component---docs-libraries-overriding-md":["/component---docs-libraries-overriding-md-942a4d14de14e02ba75d.js"],"component---docs-namespaces-md":["/component---docs-namespaces-md-a40e87498f5d6ed5b260.js"],"component---docs-server-side-apply-md":["/component---docs-server-side-apply-md-c9b257757eaa34c29b08.js"],"component---docs-targets-md":["/component---docs-targets-md-123f8be890eda328d792.js"],"component---docs-tutorial-abstraction-mdx":["/component---docs-tutorial-abstraction-mdx-b97edf44038784f040f4.js"],"component---docs-tutorial-environments-mdx":["/component---docs-tutorial-environments-mdx-b932dda633298bd4750f.js"],"component---docs-tutorial-jsonnet-mdx":["/component---docs-tutorial-jsonnet-mdx-5d6acd1cbdc3ac766655.js"],"component---docs-tutorial-k-lib-mdx":["/component---docs-tutorial-k-lib-mdx-41d9b29aedcacf3ffcdf.js"],"component---docs-tutorial-overview-mdx":["/component---docs-tutorial-overview-mdx-099bc8e84a0bf000e006.js"],"component---docs-tutorial-parameterizing-mdx":["/component---docs-tutorial-parameterizing-mdx-cb9c8ff66607e77042cd.js"],"component---docs-tutorial-refresher-mdx":["/component---docs-tutorial-refresher-mdx-67e79a7d746867ef4fe4.js"],"component---src-components-home-snippet-mdx":[],"component---src-components-install-jb-arch-mdx":[],"component---src-components-install-jb-binary-mdx":[],"component---src-components-install-jb-go-mdx":[],"component---src-components-install-jb-osx-mdx":[],"component---src-components-install-tk-arch-mdx":[],"component---src-components-install-tk-binary-mdx":[],"component---src-components-install-tk-go-mdx":[],"component---src-components-install-tk-osx-mdx":[]}
\ No newline at end of file
+{"polyfill":["/polyfill-8d34c62e07e660a83f29.js"],"app":["/app-fe1df843bc5032f42db1.js"],"component---cache-caches-gatsby-plugin-offline-app-shell-js":["/component---cache-caches-gatsby-plugin-offline-app-shell-js-099d9276a41f4ba01a3c.js"],"component---docs-completion-md":["/component---docs-completion-md-3d444c7b31269f9b6ec9.js"],"component---docs-config-md":["/component---docs-config-md-b129057e083bbcf09ffa.js"],"component---docs-diff-strategy-md":["/component---docs-diff-strategy-md-bd3d2d2e7acc151ffe31.js"],"component---docs-directory-structure-md":["/component---docs-directory-structure-md-6dea361c21c6279c45b0.js"],"component---docs-env-vars-md":["/component---docs-env-vars-md-102b70747bbd7865e8e8.js"],"component---docs-exporting-md":["/component---docs-exporting-md-e3c520ed1cc2df15aafc.js"],"component---docs-faq-md":["/component---docs-faq-md-5e30ff990ba5de27e68d.js"],"component---docs-formatting-md":["/component---docs-formatting-md-0886509974e2523e2e68.js"],"component---docs-garbage-collection-md":["/component---docs-garbage-collection-md-9e3ddba81e297bbaee58.js"],"component---docs-helm-mdx":["/component---docs-helm-mdx-66915b8a90082eae9ee5.js"],"component---docs-inline-environments-mdx":["/component---docs-inline-environments-mdx-438dd359ab9fafbc9e4f.js"],"component---docs-installation-mdx":["/component---docs-installation-mdx-098e61d7d42fc927a388.js"],"component---docs-introduction-mdx":["/component---docs-introduction-mdx-53424fcd5b068bb753bd.js"],"component---docs-jsonnet-injecting-values-md":["/component---docs-jsonnet-injecting-values-md-a2e9fadf417770db1b80.js"],"component---docs-jsonnet-main-md":["/component---docs-jsonnet-main-md-041efed1c891707fb3eb.js"],"component---docs-jsonnet-native-functions-md":["/component---docs-jsonnet-native-functions-md-2b62620b62d073a3473b.js"],"component---docs-jsonnet-overview-md":["/component---docs-jsonnet-overview-md-f7d8d3da6005892868a0.js"],"component---docs-known-issues-md":["/component---docs-known-issues-md-2b1c7bae83f2275bce8c.js"],"component---docs-kustomize-mdx":["/component---docs-kustomize-mdx-b8de0a9f83d04b2d49d5.js"],"component---docs-libraries-import-paths-md":["/component---docs-libraries-import-paths-md-421d47718426d7f0ac13.js"],"component---docs-libraries-install-publish-md":["/component---docs-libraries-install-publish-md-1cb5bebde0944f8f75bb.js"],"component---docs-libraries-overriding-md":["/component---docs-libraries-overriding-md-942a4d14de14e02ba75d.js"],"component---docs-namespaces-md":["/component---docs-namespaces-md-a40e87498f5d6ed5b260.js"],"component---docs-server-side-apply-md":["/component---docs-server-side-apply-md-c9b257757eaa34c29b08.js"],"component---docs-targets-md":["/component---docs-targets-md-123f8be890eda328d792.js"],"component---docs-tutorial-abstraction-mdx":["/component---docs-tutorial-abstraction-mdx-b97edf44038784f040f4.js"],"component---docs-tutorial-environments-mdx":["/component---docs-tutorial-environments-mdx-b932dda633298bd4750f.js"],"component---docs-tutorial-jsonnet-mdx":["/component---docs-tutorial-jsonnet-mdx-5d6acd1cbdc3ac766655.js"],"component---docs-tutorial-k-lib-mdx":["/component---docs-tutorial-k-lib-mdx-41d9b29aedcacf3ffcdf.js"],"component---docs-tutorial-overview-mdx":["/component---docs-tutorial-overview-mdx-099bc8e84a0bf000e006.js"],"component---docs-tutorial-parameterizing-mdx":["/component---docs-tutorial-parameterizing-mdx-cb9c8ff66607e77042cd.js"],"component---docs-tutorial-refresher-mdx":["/component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js"],"component---src-components-home-snippet-mdx":[],"component---src-components-install-jb-arch-mdx":[],"component---src-components-install-jb-binary-mdx":[],"component---src-components-install-jb-go-mdx":[],"component---src-components-install-jb-osx-mdx":[],"component---src-components-install-tk-arch-mdx":[],"component---src-components-install-tk-binary-mdx":[],"component---src-components-install-tk-go-mdx":[],"component---src-components-install-tk-osx-mdx":[]}
\ No newline at end of file
diff --git a/pr-preview/pr-974/completion/index.html b/pr-preview/pr-974/completion/index.html
index f2636f04b..b37a125a8 100644
--- a/pr-preview/pr-974/completion/index.html
+++ b/pr-preview/pr-974/completion/index.html
@@ -1,4 +1,4 @@
-
\ No newline at end of file
diff --git a/pr-preview/pr-974/component---docs-tutorial-refresher-mdx-67e79a7d746867ef4fe4.js b/pr-preview/pr-974/component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js
similarity index 90%
rename from pr-preview/pr-974/component---docs-tutorial-refresher-mdx-67e79a7d746867ef4fe4.js
rename to pr-preview/pr-974/component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js
index b0eea594c..3671459a0 100644
--- a/pr-preview/pr-974/component---docs-tutorial-refresher-mdx-67e79a7d746867ef4fe4.js
+++ b/pr-preview/pr-974/component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js
@@ -1,2 +1,2 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{Xb6S:function(a,e,s){"use strict";s.r(e),s.d(e,"_frontmatter",(function(){return l})),s.d(e,"default",(function(){return i}));var t=s("wx14"),n=s("Ff2n"),m=(s("q1tI"),s("7ljp")),p=s("hhGP"),c=s("Z+0r");s("qKvR");const b=["components"],l={};void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!Object.prototype.hasOwnProperty.call(l,"__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/tutorial/refresher.mdx"}});const N={_frontmatter:l},r=p.a;function i(a){let{components:e}=a,s=Object(n.a)(a,b);return Object(m.b)(r,Object(t.a)({},N,s,{components:e,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"refresher-on-deploying"},"Refresher on deploying"),Object(m.b)("h2",{id:"deploying-to-kubernetes-using-kubectl"},"Deploying to Kubernetes using kubectl"),Object(m.b)("p",null,"To understand how Tanka works, it is important to know what steps are required\nfor the task of deploying Grafana and Prometheus to Kubernetes:"),Object(m.b)("ol",null,Object(m.b)("li",{parentName:"ol"},"Prometheus",Object(m.b)("ul",{parentName:"li"},Object(m.b)("li",{parentName:"ul"},"A ",Object(m.b)("inlineCode",{parentName:"li"},"Deployment")," must be created, to run the ",Object(m.b)("inlineCode",{parentName:"li"},"prom/prometheus")," image"),Object(m.b)("li",{parentName:"ul"},"Also a ",Object(m.b)("inlineCode",{parentName:"li"},"Service")," is needed for Grafana to be able to connect port ",Object(m.b)("inlineCode",{parentName:"li"},"9090")," of\nPrometheus."))),Object(m.b)("li",{parentName:"ol"},"Grafana",Object(m.b)("ul",{parentName:"li"},Object(m.b)("li",{parentName:"ul"},"Another ",Object(m.b)("inlineCode",{parentName:"li"},"Deployment")," is required for the Grafana server."),Object(m.b)("li",{parentName:"ul"},"To connect to the web interface, we will be using a ",Object(m.b)("inlineCode",{parentName:"li"},"Service")," of type\n",Object(m.b)("inlineCode",{parentName:"li"},"NodePort"),".")))),Object(m.b)("p",null,"Before taking a look how Tanka can help doing so, let's recall how to do it with\nplain ",Object(m.b)("inlineCode",{parentName:"p"},"kubectl"),"."),Object(m.b)("h2",{id:"writing-the-yaml"},"Writing the yaml"),Object(m.b)("p",null,Object(m.b)("inlineCode",{parentName:"p"},"kubectl")," expects the resources it should create in ",Object(m.b)("inlineCode",{parentName:"p"},".yaml")," format. For Grafana\n..."),Object(m.b)("h5",{id:"grafanayaml"},"grafana.yaml:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"yaml"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Grafana server Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"apps/v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"selector"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"matchLabels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"template"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"containers"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"image"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana/grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"ports"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"containerPort"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"ui")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"---")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Grafana UI Service NodePort")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Service")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"ports"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana-ui")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"port"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"targetPort"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"selector"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"type"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"NodePort")))),Object(m.b)("p",null,"... and for Prometheus:"),Object(m.b)("h5",{id:"prometheusyaml"},"prometheus.yaml"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"yaml"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Prometheus server Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"apps/v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"selector"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"matchLabels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"template"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"containers"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"image"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prom/prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"ports"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"containerPort"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"api")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"---")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Prometheus API Service")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Service")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"ports"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus-api")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"port"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"targetPort"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"selector"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")))),Object(m.b)("p",null,"That's pretty verbose, right?"),Object(m.b)("p",null,"Even worse, there are labels and matchers (e.g. ",Object(m.b)("inlineCode",{parentName:"p"},"prometheus"),") that need to be\nexactly the same scattered across the file. It's a nightmare to debug and\nfurthermore harms readability a lot."),Object(m.b)("h2",{id:"deploying-to-the-cluster"},"Deploying to the cluster"),Object(m.b)("p",null,"To actually apply those resources, copy them into ",Object(m.b)("inlineCode",{parentName:"p"},".yaml")," files and use:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ kubectl apply -f prometheus.yaml -f grafana.yaml")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"deployment.apps/grafana created")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"deployment.apps/prometheus created")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"service/grafana created")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"service/prometheus created")))),Object(m.b)("h2",{id:"checking-it-worked"},"Checking it worked"),Object(m.b)("p",null,"So far so good, but can we tell it actually did what we wanted? Let's test that\nGrafana can connect to Prometheus!"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Temporarily forward Grafana to localhost")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"kubectl port-forward deployments/grafana 8080:3000")))),Object(m.b)("p",null,"Now go to http://localhost:8080 in your browser and login using ",Object(m.b)("inlineCode",{parentName:"p"},"admin:admin"),".\nThen navigate to ",Object(m.b)("inlineCode",{parentName:"p"},"Connections > Data Sources > Add data source"),", choose\n",Object(m.b)("inlineCode",{parentName:"p"},"Prometheus")," as type and enter ",Object(m.b)("inlineCode",{parentName:"p"},"http://prometheus:9090")," as URL. Hit\n",Object(m.b)("inlineCode",{parentName:"p"},"Save & Test")," which should yield a big green bar telling you everything is good."),Object(m.b)("p",null,"Cool! This worked out well for this small example, but the ",Object(m.b)("inlineCode",{parentName:"p"},".yaml")," files are\nhard to read and maintain. Especially when you need to deploy this exact same\nthing in ",Object(m.b)("inlineCode",{parentName:"p"},"dev")," and ",Object(m.b)("inlineCode",{parentName:"p"},"prod")," your choices are very limited."),Object(m.b)("p",null,"Let's explore how Tanka can help us here in the next section!"),Object(m.b)("h2",{id:"cleaning-up"},"Cleaning up"),Object(m.b)("p",null,"Let's remove everything we created to start fresh with Jsonnet in the next section:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ kubectl delete -f prometheus.yaml -f grafana.yaml")))),Object(m.b)(c.a,{prev:"/tutorial/overview",next:"/tutorial/jsonnet",mdxType:"TutorialButtons"}),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==i&&i&&i===Object(i)&&Object.isExtensible(i)&&!Object.prototype.hasOwnProperty.call(i,"__filemeta")&&Object.defineProperty(i,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/tutorial/refresher.mdx"}}),i.isMDXComponent=!0}}]);
-//# sourceMappingURL=component---docs-tutorial-refresher-mdx-67e79a7d746867ef4fe4.js.map
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{Xb6S:function(a,e,s){"use strict";s.r(e),s.d(e,"_frontmatter",(function(){return l})),s.d(e,"default",(function(){return i}));var t=s("wx14"),n=s("Ff2n"),m=(s("q1tI"),s("7ljp")),p=s("hhGP"),c=s("Z+0r");s("qKvR");const b=["components"],l={};void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!Object.prototype.hasOwnProperty.call(l,"__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/tutorial/refresher.mdx"}});const N={_frontmatter:l},r=p.a;function i(a){let{components:e}=a,s=Object(n.a)(a,b);return Object(m.b)(r,Object(t.a)({},N,s,{components:e,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"refresher-on-deploying"},"Refresher on deploying"),Object(m.b)("h2",{id:"deploying-to-kubernetes-using-kubectl"},"Deploying to Kubernetes using kubectl"),Object(m.b)("p",null,"To understand how Tanka works, it is important to know what steps are required\nfor the task of deploying Grafana and Prometheus to Kubernetes:"),Object(m.b)("ol",null,Object(m.b)("li",{parentName:"ol"},"Prometheus",Object(m.b)("ul",{parentName:"li"},Object(m.b)("li",{parentName:"ul"},"A ",Object(m.b)("inlineCode",{parentName:"li"},"Deployment")," must be created, to run the ",Object(m.b)("inlineCode",{parentName:"li"},"prom/prometheus")," image"),Object(m.b)("li",{parentName:"ul"},"Also a ",Object(m.b)("inlineCode",{parentName:"li"},"Service")," is needed for Grafana to be able to connect port ",Object(m.b)("inlineCode",{parentName:"li"},"9090")," of\nPrometheus."))),Object(m.b)("li",{parentName:"ol"},"Grafana",Object(m.b)("ul",{parentName:"li"},Object(m.b)("li",{parentName:"ul"},"Another ",Object(m.b)("inlineCode",{parentName:"li"},"Deployment")," is required for the Grafana server."),Object(m.b)("li",{parentName:"ul"},"To connect to the web interface, we will be using a ",Object(m.b)("inlineCode",{parentName:"li"},"Service")," of type\n",Object(m.b)("inlineCode",{parentName:"li"},"NodePort"),".")))),Object(m.b)("p",null,"Before taking a look how Tanka can help doing so, let's recall how to do it with\nplain ",Object(m.b)("inlineCode",{parentName:"p"},"kubectl"),"."),Object(m.b)("h2",{id:"writing-the-yaml"},"Writing the yaml"),Object(m.b)("p",null,Object(m.b)("inlineCode",{parentName:"p"},"kubectl")," expects the resources it should create in ",Object(m.b)("inlineCode",{parentName:"p"},".yaml")," format. For Grafana\n..."),Object(m.b)("h5",{id:"grafanayaml"},"grafana.yaml:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"yaml"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Grafana server Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"apps/v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"selector"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"matchLabels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"template"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"containers"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"image"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana/grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"ports"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"containerPort"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"ui")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"---")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Grafana UI Service NodePort")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Service")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"ports"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana-ui")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"port"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"targetPort"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"selector"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"type"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"NodePort")))),Object(m.b)("p",null,"... and for Prometheus:"),Object(m.b)("h5",{id:"prometheusyaml"},"prometheus.yaml"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"yaml"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Prometheus server Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"apps/v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"selector"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"matchLabels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"template"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"containers"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"image"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prom/prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"ports"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"containerPort"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"api")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"---")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Prometheus API Service")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Service")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"ports"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus-api")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"port"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"targetPort"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"selector"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")))),Object(m.b)("p",null,"That's pretty verbose, right?"),Object(m.b)("p",null,"Even worse, there are labels and matchers (e.g. ",Object(m.b)("inlineCode",{parentName:"p"},"prometheus"),") that need to be\nexactly the same scattered across the file. It's a nightmare to debug and\nfurthermore harms readability a lot."),Object(m.b)("h2",{id:"deploying-to-the-cluster"},"Deploying to the cluster"),Object(m.b)("p",null,"To actually apply those resources, copy them into ",Object(m.b)("inlineCode",{parentName:"p"},".yaml")," files and use:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ kubectl apply -f prometheus.yaml -f grafana.yaml")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"deployment.apps/grafana created")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"deployment.apps/prometheus created")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"service/grafana created")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"service/prometheus created")))),Object(m.b)("h2",{id:"checking-it-worked"},"Checking it worked"),Object(m.b)("p",null,"So far so good, but can we tell it actually did what we wanted? Let's test that\nGrafana can connect to Prometheus!"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Temporarily forward Grafana to localhost")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"kubectl port-forward deployments/grafana 8080:3000")))),Object(m.b)("p",null,"Now go to http://localhost:8080 in your browser and login using ",Object(m.b)("inlineCode",{parentName:"p"},"admin:admin"),".\nThen navigate to ",Object(m.b)("inlineCode",{parentName:"p"},"Connections > Data sources > Add new data source"),", choose\n",Object(m.b)("inlineCode",{parentName:"p"},"Prometheus")," as type and enter ",Object(m.b)("inlineCode",{parentName:"p"},"http://prometheus:9090")," as URL. Hit\n",Object(m.b)("inlineCode",{parentName:"p"},"Save & Test")," which should yield a big green bar telling you everything is good."),Object(m.b)("p",null,"Cool! This worked out well for this small example, but the ",Object(m.b)("inlineCode",{parentName:"p"},".yaml")," files are\nhard to read and maintain. Especially when you need to deploy this exact same\nthing in ",Object(m.b)("inlineCode",{parentName:"p"},"dev")," and ",Object(m.b)("inlineCode",{parentName:"p"},"prod")," your choices are very limited."),Object(m.b)("p",null,"Let's explore how Tanka can help us here in the next section!"),Object(m.b)("h2",{id:"cleaning-up"},"Cleaning up"),Object(m.b)("p",null,"Let's remove everything we created to start fresh with Jsonnet in the next section:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ kubectl delete -f prometheus.yaml -f grafana.yaml")))),Object(m.b)(c.a,{prev:"/tutorial/overview",next:"/tutorial/jsonnet",mdxType:"TutorialButtons"}),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==i&&i&&i===Object(i)&&Object.isExtensible(i)&&!Object.prototype.hasOwnProperty.call(i,"__filemeta")&&Object.defineProperty(i,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/tutorial/refresher.mdx"}}),i.isMDXComponent=!0}}]);
+//# sourceMappingURL=component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js.map
\ No newline at end of file
diff --git a/pr-preview/pr-974/component---docs-tutorial-refresher-mdx-67e79a7d746867ef4fe4.js.map b/pr-preview/pr-974/component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js.map
similarity index 94%
rename from pr-preview/pr-974/component---docs-tutorial-refresher-mdx-67e79a7d746867ef4fe4.js.map
rename to pr-preview/pr-974/component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js.map
index 5394c5151..edc59ef96 100644
--- a/pr-preview/pr-974/component---docs-tutorial-refresher-mdx-67e79a7d746867ef4fe4.js.map
+++ b/pr-preview/pr-974/component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./docs/tutorial/refresher.mdx"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","TutorialButtons","prev","next","isMDXComponent"],"mappings":"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","file":"component---docs-tutorial-refresher-mdx-67e79a7d746867ef4fe4.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nimport TutorialButtons from \"./TutorialButtons\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n
{`Refresher on deploying`}
\n
{`Deploying to Kubernetes using kubectl`}
\n
{`To understand how Tanka works, it is important to know what steps are required\nfor the task of deploying Grafana and Prometheus to Kubernetes:`}
\n \n
{`Prometheus`}\n
\n
{`A `}{`Deployment`}{` must be created, to run the `}{`prom/prometheus`}{` image`}
\n
{`Also a `}{`Service`}{` is needed for Grafana to be able to connect port `}{`9090`}{` of\nPrometheus.`}
\n
\n
\n
{`Grafana`}\n
\n
{`Another `}{`Deployment`}{` is required for the Grafana server.`}
\n
{`To connect to the web interface, we will be using a `}{`Service`}{` of type\n`}{`NodePort`}{`.`}
\n
\n
\n \n
{`Before taking a look how Tanka can help doing so, let's recall how to do it with\nplain `}{`kubectl`}{`.`}
\n
{`Writing the yaml`}
\n
{`kubectl`}{` expects the resources it should create in `}{`.yaml`}{` format. For Grafana\n...`}
{`Even worse, there are labels and matchers (e.g. `}{`prometheus`}{`) that need to be\nexactly the same scattered across the file. It's a nightmare to debug and\nfurthermore harms readability a lot.`}
\n
{`Deploying to the cluster`}
\n
{`To actually apply those resources, copy them into `}{`.yaml`}{` files and use:`}
{`So far so good, but can we tell it actually did what we wanted? Let's test that\nGrafana can connect to Prometheus!`}
\n
{`# Temporarily forward Grafana to localhost`}{`\n`}{`kubectl port-forward deployments/grafana 8080:3000`}
\n
{`Now go to http://localhost:8080 in your browser and login using `}{`admin:admin`}{`.\nThen navigate to `}{`Connections > Data Sources > Add data source`}{`, choose\n`}{`Prometheus`}{` as type and enter `}{`http://prometheus:9090`}{` as URL. Hit\n`}{`Save & Test`}{` which should yield a big green bar telling you everything is good.`}
\n
{`Cool! This worked out well for this small example, but the `}{`.yaml`}{` files are\nhard to read and maintain. Especially when you need to deploy this exact same\nthing in `}{`dev`}{` and `}{`prod`}{` your choices are very limited.`}
\n
{`Let's explore how Tanka can help us here in the next section!`}
\n
{`Cleaning up`}
\n
{`Let's remove everything we created to start fresh with Jsonnet in the next section:`}
{`Even worse, there are labels and matchers (e.g. `}{`prometheus`}{`) that need to be\nexactly the same scattered across the file. It's a nightmare to debug and\nfurthermore harms readability a lot.`}
\n
{`Deploying to the cluster`}
\n
{`To actually apply those resources, copy them into `}{`.yaml`}{` files and use:`}
{`So far so good, but can we tell it actually did what we wanted? Let's test that\nGrafana can connect to Prometheus!`}
\n
{`# Temporarily forward Grafana to localhost`}{`\n`}{`kubectl port-forward deployments/grafana 8080:3000`}
\n
{`Now go to http://localhost:8080 in your browser and login using `}{`admin:admin`}{`.\nThen navigate to `}{`Connections > Data sources > Add new data source`}{`, choose\n`}{`Prometheus`}{` as type and enter `}{`http://prometheus:9090`}{` as URL. Hit\n`}{`Save & Test`}{` which should yield a big green bar telling you everything is good.`}
\n
{`Cool! This worked out well for this small example, but the `}{`.yaml`}{` files are\nhard to read and maintain. Especially when you need to deploy this exact same\nthing in `}{`dev`}{` and `}{`prod`}{` your choices are very limited.`}
\n
{`Let's explore how Tanka can help us here in the next section!`}
\n
{`Cleaning up`}
\n
{`Let's remove everything we created to start fresh with Jsonnet in the next section:`}
Tanka supports two different ways of computing differences between the local
configuration and the live cluster state: Either nativekubectl diff -f -
is used, which gives the best possible results, but is only possible for
clusters with
@@ -61,4 +61,4 @@
.material-theme-darker .mtki { font-style: italic; }
.material-theme-darker .mtkb { font-weight: bold; }
.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/pr-preview/pr-974/directory-structure/index.html b/pr-preview/pr-974/directory-structure/index.html
index c42b993dd..eb4e2fe9f 100644
--- a/pr-preview/pr-974/directory-structure/index.html
+++ b/pr-preview/pr-974/directory-structure/index.html
@@ -1,4 +1,4 @@
-Directory structure | Tanka
Description: Pager to use when displaying output. Set to an empty string to disable paging.
-Default: less --RAW-CONTROL-CHARS --quit-if-one-screen --no-init
\ No newline at end of file
+Default: less --RAW-CONTROL-CHARS --quit-if-one-screen --no-init
\ No newline at end of file
diff --git a/pr-preview/pr-974/exporting/index.html b/pr-preview/pr-974/exporting/index.html
index 401f49cec..8b6beeafc 100644
--- a/pr-preview/pr-974/exporting/index.html
+++ b/pr-preview/pr-974/exporting/index.html
@@ -1,4 +1,4 @@
-Exporting as YAML | Tanka
Jsonnet is a data templating language, originally created by Google.
It is a superset of JSON, which adds common structures from full programming
languages to data modeling. Because it being a superset of JSON and ultimately
always compiling to JSON, it is guaranteed that the output will be valid JSON
(or YAML).
By allowing functions and imports, rich abstraction is possible, even across
@@ -20,4 +20,4 @@
adequate solution for edge cases. If I wanted to set some parameters that are
not already implemented by the Chart, I have no choice but to modify the Chart
first.
Jsonnet on the other hand got you covered by supporting mixing (patching,
-deep-merging) objects on top of the libraries output if required.
\ No newline at end of file
+deep-merging) objects on top of the libraries output if required.
\ No newline at end of file
diff --git a/pr-preview/pr-974/formatting/index.html b/pr-preview/pr-974/formatting/index.html
index f97f997ca..d851d6513 100644
--- a/pr-preview/pr-974/formatting/index.html
+++ b/pr-preview/pr-974/formatting/index.html
@@ -1,4 +1,4 @@
-Formatting | Tanka
Tanka supports formatting for all jsonnet and libsonnet files using the tk fmt command.
By default, the command excludes all vendor directories.
# Run for current and child directories. Run this in the root of the project to format all your files.tk fmt .# Format a single file (myFile.jsonnet)
@@ -34,4 +34,4 @@
.material-theme-darker .mtki { font-style: italic; }
.material-theme-darker .mtkb { font-weight: bold; }
.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/pr-preview/pr-974/garbage-collection/index.html b/pr-preview/pr-974/garbage-collection/index.html
index 570497c20..cf0bd2099 100644
--- a/pr-preview/pr-974/garbage-collection/index.html
+++ b/pr-preview/pr-974/garbage-collection/index.html
@@ -1,4 +1,4 @@
-Garbage collection | Tanka
To accomplish this, it appends the tanka.dev/environment: <hash> label to each created
resource. This is used to identify those which are missing from the local state in the
future.
Note: The label value changed from the <name> to a <hash> in v0.15.0.
Because the label causes a diff for every single object in your cluster and
@@ -34,4 +34,4 @@
.material-theme-darker .mtki { font-style: italic; }
.material-theme-darker .mtkb { font-weight: bold; }
.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/pr-preview/pr-974/helm/index.html b/pr-preview/pr-974/helm/index.html
index fc71fca42..8f1200891 100644
--- a/pr-preview/pr-974/helm/index.html
+++ b/pr-preview/pr-974/helm/index.html
@@ -1,4 +1,4 @@
-Helm support | Tanka
Helm support is provided using the
github.com/grafana/jsonnet-libs/tanka-util
@@ -138,4 +138,4 @@
.material-theme-darker .mtki { font-style: italic; }
.material-theme-darker .mtkb { font-weight: bold; }
.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/pr-preview/pr-974/index.html b/pr-preview/pr-974/index.html
index 7f4613550..cd09fab68 100644
--- a/pr-preview/pr-974/index.html
+++ b/pr-preview/pr-974/index.html
@@ -1,7 +1,7 @@
Introduction | Tanka