{"id":889,"date":"2021-12-19T00:54:05","date_gmt":"2021-12-18T16:54:05","guid":{"rendered":"https:\/\/blog.cauchyschwarz.com\/?p=889"},"modified":"2021-12-19T00:54:08","modified_gmt":"2021-12-18T16:54:08","slug":"k8s","status":"publish","type":"post","link":"https:\/\/blog.cauchyschwarz.com\/?p=889","title":{"rendered":"k8s"},"content":{"rendered":"\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-right counter-hierarchy ez-toc-counter ez-toc-grey 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-69e0e86645a3e\" 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: #999;color:#999\" 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: #999;color:#999\" 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-69e0e86645a3e\" 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-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=889\/#HelloWorld\" >HelloWorld<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=889\/#Clean_Up\" >Clean Up<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=889\/#%E5%AE%98%E6%96%B9%E6%95%99%E7%A8%8B\" >\u5b98\u65b9\u6559\u7a0b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=889\/#Minikube%E6%95%99%E7%A8%8B\" >Minikube\u6559\u7a0b<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=889\/#Minikube%E5%AE%89%E8%A3%85\" >Minikube\u5b89\u88c5<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=889\/#%E5%AE%89%E8%A3%85kubectl\" >\u5b89\u88c5kubectl<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=889\/#kubernetes%E5%AE%98%E6%96%B9%E6%95%99%E7%A8%8B\" >kubernetes\u5b98\u65b9\u6559\u7a0b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=889\/#%E5%8F%82%E8%80%83%E9%93%BE%E6%8E%A5\" >\u53c2\u8003\u94fe\u63a5<\/a><\/li><\/ul><\/nav><\/div>\n<h1 class=\"wp-block-heading\" id=\"helloworld\"><span class=\"ez-toc-section\" id=\"HelloWorld\"><\/span>HelloWorld<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>\u521b\u5efa\u4e00\u4e2ak8s\u7684\u793a\u4f8b\u5e94\u7528\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><em># \u521b\u5efa\u4e00\u4e2akubenetes cluster<\/em>\nminikube start\n<em># \u521b\u5efakubernetes deployment<\/em>\nkubectl run hello-minikube --image=k8s.gcr.io\/echoserver:1.10 --port=8080\n<em># \u66b4\u9732\u7aef\u53e3<\/em>\nkubectl expose deployment hello-minikube --type=NodePort\n<em># \u83b7\u53d6hello-minikube\u670d\u52a1\u7684url<\/em>\nminikube service hello-minikube --url\n<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"clean-up\"><span class=\"ez-toc-section\" id=\"Clean_Up\"><\/span>Clean Up<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>\u6e05\u9664\u8fd9\u4e2a\u5e94\u7528\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">kubectl delete services hello-minikube\nkubectl delete deployment hello-minikube\nminikube stop\nminikube delete\n<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"%E5%AE%98%E6%96%B9%E6%95%99%E7%A8%8B\"><span class=\"ez-toc-section\" id=\"%E5%AE%98%E6%96%B9%E6%95%99%E7%A8%8B\"><\/span><a href=\"https:\/\/kubernetes.io\/docs\/tutorials\/kubernetes-basics\/\">\u5b98\u65b9\u6559\u7a0b<\/a><span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p><\/p>\n\n\n\n<p>\u4e3a\u4e86\u6298\u817ehive\uff0c\u5148\u5b66\u4e60\u4e00\u4e0bkubernetes\uff0c\u540e\u9762\u6253\u7b97\u5728kubernetes\u4e0a\u5b89\u88c5hive\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"minikube%E6%95%99%E7%A8%8B\"><span class=\"ez-toc-section\" id=\"Minikube%E6%95%99%E7%A8%8B\"><\/span><a href=\"https:\/\/kubernetes.io\/docs\/tutorials\/hello-minikube\/\">Minikube\u6559\u7a0b<\/a><span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"minikube%E5%AE%89%E8%A3%85\"><span class=\"ez-toc-section\" id=\"Minikube%E5%AE%89%E8%A3%85\"><\/span><a href=\"https:\/\/kubernetes.io\/docs\/tasks\/tools\/install-minikube\/\">Minikube\u5b89\u88c5<\/a><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>1.\u68c0\u67e5cpu\u662f\u5426\u652f\u6301\u865a\u62df\u5316<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"> egrep --color 'vmx|svm' \/proc\/cpuinfo\n<\/code><\/pre>\n\n\n\n<p>2.<a href=\"https:\/\/kubernetes.io\/docs\/tasks\/tools\/install-kubectl\/#install-kubectl-on-linux\">\u5b89\u88c5kubectl<\/a>&nbsp;3.\u5b89\u88c5Hybervisor \u53ef\u4ee5\u5b89\u88c5KVM\u6216\u8005VirtualBox\u3002<br>\u4f7f\u7528virtualbox<br>\u56e0\u4e3a\u81ea\u5df1\u7535\u8111\u4e0a\u4ee5\u524d\u88c5\u8fc7virtualbox\uff0c\u6240\u4ee5\u5c31\u4e0d\u9700\u8981\u7279\u522b\u5b89\u88c5\u8fd9\u4e2a\u4e86\u3002minikube\u9ed8\u8ba4\u4f7f\u7528\u4e86virtualbox\u3002<\/p>\n\n\n\n<p>\u56e0\u4e3a\u6ca1\u7528\u8fc7KVM\uff0c\u6240\u4ee5\u8fd8\u662f\u5c1d\u8bd5\u4e00\u4e0bKVM\u3002<a href=\"https:\/\/linuxconfig.org\/install-and-set-up-kvm-on-ubuntu-18-04-bionic-beaver-linux\">\u5b89\u88c5KVM\u6559\u7a0b<\/a>\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager\n<\/code><\/pre>\n\n\n\n<p>\u66f4\u5177\u4f53\u7684\u5b89\u88c5\u8fc7\u7a0b\u6709\u65f6\u95f4\u518d\u5c1d\u8bd5\u4e00\u4e0b\uff0c\u73b0\u5728\u5148\u7740\u91cd\u628a\u6574\u4e2a\u6d41\u7a0b\u8dd1\u901a\u4f53\u9a8c\u4e00\u4e0b\uff0c\u5c31\u5148\u5c06\u5c31\u7528\u7740virtualbox\u3002<\/p>\n\n\n\n<p>4.\u5b89\u88c5Minikube \u7528snap\u5b89\u88c5\u7684minikube\u4f1a\u51fa\u9519\uff0c\u4e8e\u662f\u6309\u7167\u8fd9\u4e2a<a href=\"https:\/\/askubuntu.com\/questions\/1109536\/how-to-install-kubernetes-locally-via-minikube\">\u8ba8\u8bba<\/a>\u9009\u62e9\u4e86\u4ece\u5b98\u7f51\u4e0b\u8f7d\u5b89\u88c5\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">curl -LO https:\/\/storage.googleapis.com\/minikube\/releases\/latest\/minikube-linux-amd64 \\\n&amp;&amp; sudo install minikube-linux-amd64 \/usr\/local\/bin\/minikube\n<\/code><\/pre>\n\n\n\n<p>5.\u542f\u52a8Minikube<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">minikube start\n<\/code><\/pre>\n\n\n\n<p>6.<a href=\"https:\/\/kubernetes.io\/docs\/tutorials\/hello-minikube\/\">\u6d4b\u8bd5<\/a>&nbsp;\u90fd\u5b89\u88c5\u597d\u540e\uff0c\u53ef\u4ee5\u8dd1\u4e00\u904d\u8fd9\u4e2ahelloworld\u6559\u7a0b\u6d4b\u8bd5\u4e00\u4e0b\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"%E5%AE%89%E8%A3%85kubectl\"><span class=\"ez-toc-section\" id=\"%E5%AE%89%E8%A3%85kubectl\"><\/span><a href=\"https:\/\/kubernetes.io\/docs\/tasks\/tools\/install-kubectl\/#install-kubectl-on-linux\">\u5b89\u88c5kubectl<\/a><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>1.\u4f7f\u7528apt\u5b89\u88c5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">sudo apt-get update &amp;&amp; sudo apt-get install -y apt-transport-https\ncurl -s https:\/\/packages.cloud.google.com\/apt\/doc\/apt-key.gpg | sudo apt-key add -\necho \"deb https:\/\/apt.kubernetes.io\/ kubernetes-xenial main\" | sudo tee -a \/etc\/apt\/sources.list.d\/kubernetes.list\nsudo apt-get update\nsudo apt-get install -y kubectl\n<\/code><\/pre>\n\n\n\n<p>2.\u9a8c\u8bc1\u914d\u7f6e \u5728\u5b89\u88c5\u597dMinikube\uff0c\u5e76\u4e14\u6267\u884c<code>minikube stat<\/code>\u540e\uff0c\u53ef\u4ee5\u7528<code>minikube cluster-info<\/code>\u67e5\u770b\u96c6\u7fa4\u4fe1\u606f\u3002<\/p>\n\n\n\n<p>3.\u8bbe\u7f6ekubectl\u76f8\u5173\u547d\u4ee4\u7684\u81ea\u52a8\u8865\u5168<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">echo 'source &lt;(kubectl completion bash)' &gt;&gt;~\/.bashrc\n<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"kubernetes%E5%AE%98%E6%96%B9%E6%95%99%E7%A8%8B\"><span class=\"ez-toc-section\" id=\"kubernetes%E5%AE%98%E6%96%B9%E6%95%99%E7%A8%8B\"><\/span><a href=\"https:\/\/kubernetes.io\/docs\/tutorials\/kubernetes-basics\/\">kubernetes\u5b98\u65b9\u6559\u7a0b<\/a><span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"%E5%8F%82%E8%80%83%E9%93%BE%E6%8E%A5\"><span class=\"ez-toc-section\" id=\"%E5%8F%82%E8%80%83%E9%93%BE%E6%8E%A5\"><\/span>\u53c2\u8003\u94fe\u63a5<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/cravencode.com\/post\/kubernetes\/setup-minikube-on-ubuntu-kvm2\/\">https:\/\/cravencode.com\/post\/kubernetes\/setup-minikube-on-ubuntu-kvm2\/<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>HelloWorld \u521b\u5efa\u4e00\u4e2ak8s\u7684\u793a\u4f8b\u5e94\u7528\uff1a Clean Up \u6e05\u9664\u8fd9\u4e2a\u5e94\u7528\uff1a \u5b98\u65b9\u6559\u7a0b \u4e3a\u4e86\u6298\u817ehive\uff0c\u5148\u5b66\u4e60\u4e00\u4e0bkubernetes\uff0c\u540e\u9762\u6253\u7b97\u5728kubernetes\u4e0a\u5b89\u88c5hive\u3002 Mini&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[101],"class_list":["post-889","post","type-post","status-publish","format-standard","hentry","category-10","tag-k8s"],"_links":{"self":[{"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/posts\/889","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=889"}],"version-history":[{"count":1,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/posts\/889\/revisions"}],"predecessor-version":[{"id":890,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/posts\/889\/revisions\/890"}],"wp:attachment":[{"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=889"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=889"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=889"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}