{"id":1961,"date":"2022-03-15T19:11:50","date_gmt":"2022-03-16T03:11:50","guid":{"rendered":"https:\/\/tungle.ca\/?p=1961"},"modified":"2022-12-04T19:12:44","modified_gmt":"2022-12-05T03:12:44","slug":"install-kubernetes-on-linuxmint","status":"publish","type":"post","link":"https:\/\/tungle.ca\/?p=1961","title":{"rendered":"Install Kubernetes on LinuxMint"},"content":{"rendered":"\n<p>Firstly, install Kubernetes and snapd package.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">sudo apt install kubernetes snapd<\/code><\/pre>\n\n\n\n<p>Get an error as a screenshot below.<\/p>\n\n\n\n<p>Enter &#8220;sudo rm \/etc\/apt\/preferences.d\/nosnap.pref&#8221;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1003\" height=\"325\" src=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-29.png\" alt=\"\" class=\"wp-image-1962\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-29.png 1003w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-29-300x97.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-29-768x249.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-29-200x65.png 200w\" sizes=\"auto, (max-width: 1003px) 100vw, 1003px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">sudo apt-get update\nsudo apt-get install<\/code><\/pre>\n\n\n\n<p>Run the command above again.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"935\" height=\"914\" src=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/4-2.png\" alt=\"\" class=\"wp-image-1963\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/4-2.png 935w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/4-2-300x293.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/4-2-768x751.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/4-2-200x196.png 200w\" sizes=\"auto, (max-width: 935px) 100vw, 935px\" \/><\/figure>\n\n\n\n<p>Next, install Kurbenetes.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">kubernetes install<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"127\" src=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-30.png\" alt=\"\" class=\"wp-image-1964\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-30.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-30-300x39.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-30-768x100.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-30-200x26.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>+ Create our first app deployment using nginx.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">microk8s.kubectl create deployment nginx --image nginx<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"156\" src=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-31.png\" alt=\"\" class=\"wp-image-1965\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-31.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-31-300x48.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-31-768x123.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-31-200x32.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>+ Add your user to the microk8s admin group.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"148\" src=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-32.png\" alt=\"\" class=\"wp-image-1966\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-32.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-32-300x46.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-32-768x117.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-32-200x30.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>+ View all running services.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">microk8s.kubectl get all<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"269\" src=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-33.png\" alt=\"\" class=\"wp-image-1967\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-33.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-33-300x83.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-33-768x212.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-33-200x55.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>+ Enable Dashboard.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">microk8s.enable dns dashboard<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"721\" src=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-34.png\" alt=\"\" class=\"wp-image-1968\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-34.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-34-300x222.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-34-768x568.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-34-200x148.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>+ List all namespaces in microk8s. Take note of the IP address of the Kubernetes dashboard.<\/p>\n\n\n\n<p>microk8s.kubectl get all &#8211;all-namespaces<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"675\" src=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-35.png\" alt=\"\" class=\"wp-image-1969\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-35.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-35-300x208.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-35-768x532.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-35-200x138.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Kubernetes has created a couple of new network interfaces.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"938\" height=\"648\" src=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/11-2.png\" alt=\"\" class=\"wp-image-1974\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/11-2.png 938w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/11-2-300x207.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/11-2-768x531.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/11-2-200x138.png 200w\" sizes=\"auto, (max-width: 938px) 100vw, 938px\" \/><\/figure>\n\n\n\n<p>+ View token.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d \" \" -f1)\nmicrok8s kubectl -n kube-system describe secret $token<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"412\" src=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-36.png\" alt=\"\" class=\"wp-image-1970\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-36.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-36-300x127.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-36-768x325.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-36-200x85.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>+ Access to Kubernetes dashb<strong>oard<\/strong> <a href=\"https:\/\/10.152.183.198\">https:\/\/10.152.183.198<\/a>, and enter the token on the previous step.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"433\" src=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-37.png\" alt=\"\" class=\"wp-image-1971\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-37.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-37-300x133.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-37-768x341.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-37-200x89.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"774\" src=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-38.png\" alt=\"\" class=\"wp-image-1972\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-38.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-38-300x238.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-38-768x610.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2022\/03\/image-38-200x159.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Firstly, install Kubernetes and snapd package. Get an error as a screenshot below. Enter &#8220;sudo rm \/etc\/apt\/preferences.d\/nosnap.pref&#8221; Run the command above again. Next, install Kurbenetes. + Create our first app deployment using nginx. + Add your user to the microk8s admin group. + View all running services. + Enable Dashboard. + List all namespaces in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30,6],"tags":[24,8],"class_list":["post-1961","post","type-post","status-publish","format-standard","hentry","category-kubernetes","category-linux","tag-kubernetes","tag-linux"],"_links":{"self":[{"href":"https:\/\/tungle.ca\/index.php?rest_route=\/wp\/v2\/posts\/1961","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tungle.ca\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tungle.ca\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tungle.ca\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tungle.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1961"}],"version-history":[{"count":5,"href":"https:\/\/tungle.ca\/index.php?rest_route=\/wp\/v2\/posts\/1961\/revisions"}],"predecessor-version":[{"id":4438,"href":"https:\/\/tungle.ca\/index.php?rest_route=\/wp\/v2\/posts\/1961\/revisions\/4438"}],"wp:attachment":[{"href":"https:\/\/tungle.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1961"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tungle.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1961"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tungle.ca\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1961"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}