{"id":309250,"date":"2021-07-27T15:00:13","date_gmt":"2021-07-27T12:00:13","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/how-to-run-your-own-kubernetes-cluster-with-microk8s-cloudsavvy-it\/"},"modified":"2021-07-27T15:00:13","modified_gmt":"2021-07-27T12:00:13","slug":"how-to-run-your-own-kubernetes-cluster-with-microk8s-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/how-to-run-your-own-kubernetes-cluster-with-microk8s-cloudsavvy-it\/","title":{"rendered":"#How to Run Your Own Kubernetes Cluster With MicroK8s \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_89 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-6aee8daac08b2\" 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-6aee8daac08b2\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-run-your-own-kubernetes-cluster-with-microk8s-cloudsavvy-it\/#Installation\" >Installation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-run-your-own-kubernetes-cluster-with-microk8s-cloudsavvy-it\/#Interacting_With_Your_Cluster\" >Interacting With Your Cluster<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-run-your-own-kubernetes-cluster-with-microk8s-cloudsavvy-it\/#Accessing_Docker_Images\" >Accessing Docker Images<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-run-your-own-kubernetes-cluster-with-microk8s-cloudsavvy-it\/#Enabling_the_Kubernetes_Dashboard\" >Enabling the Kubernetes Dashboard<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-run-your-own-kubernetes-cluster-with-microk8s-cloudsavvy-it\/#Using_More_Addons\" >Using More Addons<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-run-your-own-kubernetes-cluster-with-microk8s-cloudsavvy-it\/#Managing_Your_Cluster\" >Managing Your Cluster<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-run-your-own-kubernetes-cluster-with-microk8s-cloudsavvy-it\/#Multi-Node_Clusters\" >Multi-Node Clusters<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-run-your-own-kubernetes-cluster-with-microk8s-cloudsavvy-it\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#How to Run Your Own Kubernetes Cluster With MicroK8s \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage aligncenter size-full wp-image-9632\" srcset=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/02\/748108a6.jpg?width=398&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 400w, https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/02\/748108a6.jpg?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 1200w\" sizes=\"auto, 400w, 1200w\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/02\/748108a6.jpg?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"Graphic showing the Kubernetes logo\" width=\"1602\" height=\"902\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/microk8s.io\">MicroK8s<\/a> is a lightweight single-package Kubernetes distribution developed by Canonical, best known for the Ubuntu operating system. MicroK8s follows upstream Kubernetes releases and focuses on providing an effortless installation and management experience. Here\u2019s how to get started running your own cluster.<\/p>\n<h2 id=\"installation\"><span class=\"ez-toc-section\" id=\"Installation\"><\/span>Installation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>MicroK8s is available on Linux, Windows, and macOS. A graphical Windows installer is offered on the project\u2019s website. macOS users should <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/microk8s.io\">use Brew<\/a> while Linux users are served by <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.howtogeek.com\/670084\/what-you-need-to-know-about-snaps-on-ubuntu-20.04\/\">snaps<\/a>.<\/p>\n<p>Follow the separate Snap <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/snapcraft.io\/docs\/installing-snapd\">installation steps<\/a> if you\u2019re missing <code>snapd<\/code> on your system. Then use the <code>snap install<\/code> command to add MicroK8s:<\/p>\n<pre>sudo snap install microk8s --classic<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13027\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/ff29a96f.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"967\" height=\"103\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>This installs the latest MicroK8s version. You can select a specific release using the <code>--channel<\/code> flag:<\/p>\n<pre>sudo snap install microk8s --classic --channel=1.19\/stable<\/pre>\n<p>This will give you a version of MicroK8s that\u2019s based on Kubernetes v1.19.<\/p>\n<p>Installation can take a while to complete as Kubernetes services start up. Running <code>microk8s status --wait-ready<\/code> lets you check progress so you know when MicroK8s is ready to use.<\/p>\n<h2 id=\"interacting-with-your-cluster\"><span class=\"ez-toc-section\" id=\"Interacting_With_Your_Cluster\"><\/span>Interacting With Your Cluster<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>MicroK8s bundles its own version of the Kubectl command-line tool. Use <code>microk8s kubectl<\/code> to interact with your cluster, <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>ending a regular <code>kubectl<\/code> command:<\/p>\n<pre>sudo microk8s kubectl get all --all-namespaces<\/pre>\n<p>This command surfaces all the resources in your cluster.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13026\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/78ff86b4.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"1656\" height=\"495\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Next create a basic manifest to deploy:<\/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>my-pod<span class=\"co4\">\nspec<\/span>:<span class=\"co4\">\n  containers<\/span>:<span class=\"co3\">\n    - name<\/span><span class=\"sy2\">: <\/span>nginx<span class=\"co3\">\n      image<\/span><span class=\"sy2\">: <\/span>nginx:latest<span class=\"co4\">\n      ports<\/span>:<span class=\"co3\">\n        - name<\/span><span class=\"sy2\">: <\/span>http<span class=\"co3\">\n          containerPort<\/span><span class=\"sy2\">: <\/span>80<span class=\"co3\">\n          protocol<\/span><span class=\"sy2\">: <\/span>TCP<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Apply the manifest to your cluster:<\/p>\n<pre>sudo microk8s kubectl apply -f .\/manifest.yaml<\/pre>\n<p>MicroK8s will create a new Pod running the NGINX web server. It\u2019ll show up when you re-run <code>microk8s kubectl get all<\/code>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13028\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/afc4893e.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"1427\" height=\"754\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>MicroK8s is compatible with all Kubectl commands. If you want to drop the <code>microk8s<\/code> prefix, you can use a \u201creal\u201d <code>kubectl<\/code> binary instead:<\/p>\n<pre>sudo microk8s kubectl config view --raw &gt; $HOME\/.kube\/config<\/pre>\n<p>This exports the MicroK8s connection information into your Kubernetes configuration file, allowing plain <code>kubectl<\/code> commands to reach your cluster.<\/p>\n<p>Most MicroK8s commands require superuser access. For long-term use, add your user account to the <code>microk8s<\/code> group so you don\u2019t need to use <code>sudo<\/code> each time:<\/p>\n<pre>sudo usermod -aG microk8s $USER<\/pre>\n<h2 id=\"accessing-docker-images\"><span class=\"ez-toc-section\" id=\"Accessing_Docker_Images\"><\/span>Accessing Docker Images<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>MicroK8s can\u2019t access your local Docker images automatically. If you want to deploy an image you\u2019ve just built, manually import it to the MicroK8s registry by exporting it as a <code>tar<\/code> archive.<\/p>\n<pre>docker save my-image:latest &gt; my-image.tar&#13;\nmicrok8s ctr image import my-image.tar<\/pre>\n<p>Now your Pods can successfully reference the image. You can list all known images in the MicroK8s registry with the <code>microk8s ctr images ls<\/code> command.<\/p>\n<p>Beyond simple use on your local machine, you should setup a dedicated Docker image registry to hold your images. Push images there and <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/microk8s.io\/docs\/registry-private\">grant MicroK8s pull access<\/a> so it can retrieve them from your storage. The steps to follow depend on your registry\u2019s configuration.<\/p>\n<h2 id=\"enabling-the-kubernetes-dashboard\"><span class=\"ez-toc-section\" id=\"Enabling_the_Kubernetes_Dashboard\"><\/span>Enabling the Kubernetes Dashboard<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The Kubernetes web dashboard is bundled with MicroK8s but is disabled by default. You can activate it by enabling its addon, then navigating to the IP address of the dashboard service.<\/p>\n<pre>microk8s enable dashboard<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13029\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/263ff993.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"1166\" height=\"146\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>The service might take a few moments to start. Run <code>microk8s kubectl get services --namespace kube-system<\/code> and wait for the <code>kubernetes-dashboard<\/code> service to show up. Note down its <code>CLUSTER-IP<\/code> and visit its address in your browser. The Kubernetes dashboard should appear, letting you interact with your resources using a graphical interface.<\/p>\n<h2 id=\"using-more-addons\"><span class=\"ez-toc-section\" id=\"Using_More_Addons\"><\/span>Using More Addons<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>MicroK8s ships with several other optional addons for common use cases. The <code>dns<\/code> addon adds support for DNS deployment, <code>storage<\/code> provides a default storage class based on host directories, and <code>ingress<\/code> offers an ingress controller that lets you create <code>Ingress<\/code> routing resources.<\/p>\n<p>The <code>registry<\/code> addon is a special service which deploys a ready-to-use Docker registry on <code>localhost:32000<\/code>. Using the registry provides a private storage space which you can push your images to, before using them in your Kubernetes Pods. Similarly, the <code>istio<\/code> addon launches an <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/istio.io\">Istio mesh<\/a> to provide service discovery functions.<\/p>\n<p>Exhaustive description of these addons is provided in the <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/ubuntu.com\/tutorials\/install-a-local-kubernetes-with-microk8s#3-enable-addons\">MicroK8s documentation<\/a>. You can view all the available addons in your installation by running <code>microk8s enable<\/code> without any arguments. Only the bare minimum Kubernetes functionality is active by default as MicroK8s focuses on providing a streamlined experience.<\/p>\n<h2 id=\"managing-your-cluster\"><span class=\"ez-toc-section\" id=\"Managing_Your_Cluster\"><\/span>Managing Your Cluster<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>All cluster management functions are provided by the <code>microk8s<\/code> command. Running <code>microk8s status<\/code> shows an overview of your cluster, including whether it\u2019s running and the list of active addons.<\/p>\n<p>To shutdown your cluster, run <code>microk8s stop<\/code>. This will stop all services, taking everything offline. You restart the cluster with the <code>microk8s start<\/code> command. It might take a few moments for all your services to get running.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13030\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/c349b824.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"1059\" height=\"286\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>You can view your cluster connection details by running <code>microk8s config<\/code>. This emits a Kubectl-compatible YAML file, ready to use with other tools.<\/p>\n<p>Running <code>microk8s reset<\/code> will reset your cluster to its initial post-installation state. This is a destructive time-consuming operation which will destroy all your resources. It facilitates experimentation by letting you teardown everything, without removing the MicroK8s snap. Kubernetes storage volumes will be retained by default; you can delete them too by adding the <code>--destroy-storage<\/code> flag.<\/p>\n<h2 id=\"multi-node-clusters\"><span class=\"ez-toc-section\" id=\"Multi-Node_Clusters\"><\/span>Multi-Node Clusters<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Although MicroK8s started as a single-node project, you can now add <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/microk8s.io\/docs\/clustering\">secondary nodes<\/a> to your cluster. Additional nodes give you redundancy, as well as increased workload capacity. Each node requires its own fully isolated environment \u2013 either a separate physical machine, VM, or container. You can\u2019t run two MicroK8s worker instances in the same environment.<\/p>\n<p>First run <code>microk8s add-node<\/code> on your original node. This will become the controlling master that runs the Kubernetes control plane.<\/p>\n<pre>microk8s add-node<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13031\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/aaff5aeb.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"1404\" height=\"231\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>The command creates a provisional registration for the new node. It\u2019ll output a <code>microk8s join<\/code> command which will join the node to the control plane. The joining process will take a few seconds to complete. The node must be able to reach your master over the displayed network address.<\/p>\n<p>Once the node\u2019s been added, it will be eligible to host your Pods. You can view all available nodes by running <code>microk8s kubectl get nodes<\/code>.<\/p>\n<p>Removing a node from the cluster is an exercise in reversal. First, run <code>microk8s leave<\/code> on the target node. Then run <code>microk8s remove-node 10.108.0.1<\/code> on the master, substituting in the IP address of the removed node. This will notify all other nodes of the removal. The target node will revert to a regular standalone MicroK8s installation, becoming its own master.<\/p>\n<h2 id=\"conclusion\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>MicroK8s is a minimal Kubernetes distribution that\u2019s easily self-hosted on your own hardware. It\u2019s fully CNFC-compliant and comes with built-in addons for the official Kubernetes dashboard, Ingress routing, and the Istio service mesh. These help you quickly setup your own production-ready cluster capable of matching the managed Kubernetes offerings from public cloud providers.<\/p>\n<p>MicroK8s supports a particularly broad range of hardware and deployment architectures. It works on developer workstations, in <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/microk8s.io\/high-availability\">highly available<\/a> production environments, and <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/ubuntu.com\/tutorials\/how-to-kubernetes-cluster-on-raspberry-pi\">on the Raspberry Pi<\/a>. This flexibility lets you use exactly the same <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/technology\/\" data-internallinksmanager029f6b8e52c=\"4\" title=\"Technology\" target=\"_blank\" rel=\"noopener\">technology<\/a> in development and production, even down to the Kubernetes implementation.<\/p>\n<p>Compared to rival projects such as <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/minikube.sigs.k8s.io\/docs\">Minikube<\/a>, MicroK8s excels at running in resource-constrained environments with minimal overheads. It benefits from its own containerization, using the snap package format, so there\u2019s no heavy VM to run. This leaves you with more capacity to host your workloads and other developer tools.<\/p>\n<p>While MicroK8s began life as a developer-centric project, targeting local testing and prototyping, it\u2019s now <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/microk8s.io\">billed as a production-ready<\/a> Kubernetes distribution with a proven record for closely following upstream releases. Clusters can be <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/microk8s.io\/docs\/upgrading\">upgraded to new Kubernetes releases using<\/a> the <code>snap refresh microk8s<\/code> command.\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\/13024\/how-to-run-your-own-kubernetes-cluster-with-microk8s\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#How to Run Your Own Kubernetes Cluster With MicroK8s \u2013 CloudSavvy IT&#8221; MicroK8s is a lightweight single-package Kubernetes distribution developed by Canonical, best known for the Ubuntu operating system. MicroK8s follows upstream Kubernetes releases and focuses on providing an effortless installation and management experience. Here\u2019s how to get started running your own cluster. Installation MicroK8s&#8230;<\/p>\n","protected":false},"author":1,"featured_media":309251,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/02\/748108a6.jpg","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-309250","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\/309250","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=309250"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/309250\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/309251"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=309250"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=309250"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=309250"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}