{"id":9432,"date":"2022-03-10T22:54:34","date_gmt":"2022-03-10T14:54:34","guid":{"rendered":"https:\/\/jpuyy.com\/?p=9432"},"modified":"2023-05-07T12:40:47","modified_gmt":"2023-05-07T04:40:47","slug":"minikube","status":"publish","type":"post","link":"https:\/\/jpuyy.com\/?p=9432","title":{"rendered":"Local K8s cluster: minikube"},"content":{"rendered":"\r\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\r\n<p><p>Learn minikube<\/p>\r\nIntel Chips: Mac mini 2018\r\n<p>\r\nApple Chips: 13-inch, M2, 2022 MacBook Pro\r\n<\/p><\/p>\r\n<\/div>\r\n\r\n\r\n<p>know drivers: https:\/\/minikube.sigs.k8s.io\/docs\/drivers\/<\/p>\r\n<p>&#8212;<\/p>\r\n<p>I use docker desktop, but not enable kubernetes<\/p>\r\n<p>https:\/\/minikube.sigs.k8s.io\/docs\/start\/<\/p>\r\n<p>Drivers: Docker &#8211; VM + Container (preferred)<br>\r\nhttps:\/\/minikube.sigs.k8s.io\/docs\/drivers\/docker\/<\/p>\r\n<p>turn off the docker =&gt; kubernetes feature.<\/p>\r\n<p>&#8220;`<br>\r\n# remove minikube<br>\r\n$ minikube delete<br>\r\n&#x1f480;  Removed all traces of the &#8220;minikube&#8221; cluster.<br>\r\n$ minikube config set driver docker<br>\r\n# check<br>\r\n$ minikube config get driver<br>\r\ndocker<br>\r\n$ minikube start<br>\r\n&#x1f604;  minikube v1.24.0 on Darwin 12.4<br>\r\n&#x2728;  Using the docker driver based on user configuration<br>\r\n&#x1f44d;  Starting control plane node minikube in cluster minikube<br>\r\n&#x1f69c;  Pulling base image &#8230;<br>\r\n&gt; gcr.io\/k8s-minikube\/kicbase: 355.78 MiB \/ 355.78 MiB  100.00% 1.91 MiB p\/<br>\r\n&#x1f525;  Creating docker container (CPUs=2, Memory=7911MB) &#8230;<br>\r\n&#x1f433;  Preparing Kubernetes v1.22.3 on Docker 20.10.8 &#8230;<br>\r\n&#x25aa; Generating certificates and keys &#8230;<br>\r\n&#x25aa; Booting up control plane &#8230;<br>\r\n&#x25aa; Configuring RBAC rules &#8230;<br>\r\n&#x1f50e;  Verifying Kubernetes components&#8230;<br>\r\n&#x25aa; Using image gcr.io\/k8s-minikube\/storage-provisioner:v5<br>\r\n&#x1f31f;  Enabled addons: storage-provisioner, default-storageclass<br>\r\n&#x1f3c4;  Done! kubectl is now configured to use &#8220;minikube&#8221; cluster and &#8220;default&#8221; namespace by default<br>\r\n$ minikube status<br>\r\n&#8220;`<\/p>\r\n<p>start 3 nodes<br>\r\n$ minikube start &#8211;nodes=3<\/p>\r\n<p>&#x2757;  The cluster minikube already exists which means the &#8211;nodes parameter will be ignored. Use &#8220;minikube node add&#8221; to add nodes to an existing cluster.<\/p>\r\n<p>minikube node add<br>\r\n&#x1f604;  Adding node m02 to cluster minikube<br>\r\n&#x2757;  Cluster was created without any CNI, adding a node to it might cause broken networking.<br>\r\n&#x1f44d;  Starting worker node minikube-m02 in cluster minikube<br>\r\n&#x1f69c;  Pulling base image &#8230;<br>\r\n&#x1f525;  Creating docker container (CPUs=2, Memory=2200MB)<br>\r\nkubectl get nodes<\/p>\r\n<p>kubectl get nodes<br>\r\nNAME           STATUS   ROLES           AGE   VERSION<br>\r\nminikube       Ready    control-plane   20d   v1.26.3<br>\r\nminikube-m02   Ready    <none>          17s   v1.26.3<\/none><\/p>\r\n<p>https:\/\/minikube.sigs.k8s.io\/docs\/tutorials\/multi_node\/<\/p>\r\n<p>$ minikube docker-env<\/p>\r\n<p>&#x274c;  Exiting due to ENV_MULTINODE_CONFLICT: The docker-env command is incompatible with multi-node clusters. Use the &#8216;registry&#8217; add-on: https:\/\/minikube.sigs.k8s.io\/docs\/handbook\/registry\/<\/p>\r\n\r\nremove nodes\r\nand minikube docker-env run again\r\n\r\n$ minikube docker-env\r\nexport DOCKER_TLS_VERIFY=&#8221;1&#8243;\r\nexport DOCKER_HOST=&#8221;tcp:\/\/127.0.0.1:62214&#8243;\r\nexport DOCKER_CERT_PATH=&#8221;\/Users\/jpuyy\/.minikube\/certs&#8221;\r\nexport MINIKUBE_ACTIVE_DOCKERD=&#8221;minikube&#8221;\r\n\r\n# To point your shell to minikube&#8217;s docker-daemon, run:\r\n# eval $(minikube -p minikube docker-env)\r\n<p>&#8212;<br>\r\n\u5f00\u53d1\u673a debian<br>\r\nLinux<br>\r\nDrivers:<br>\r\n* Docker &#8211; container-based (preferred)<br>\r\n* KVM2 &#8211; VM-based (preferred)<br>\r\n&#x274c;  Exiting due to DRV_AS_ROOT: The &#8220;docker&#8221; driver should not be used with root privileges.<br>\r\n\u89e3\u51b3\u529e\u6cd5:<\/p>\r\n<p>minikube start &#8211;force &#8211;driver=docker<\/p>\r\n<p>&#8212;<br>\r\n$ kubectl config get-clusters<\/p>\r\n<p>minikube<\/p>\r\n<p>$ kubectl config get-contexts<\/p>\r\n<p>CURRENT   NAME       CLUSTER    AUTHINFO   NAMESPACE<br>\r\n*         minikube   minikube   minikube   default<\/p>\r\n<p>$ kubectl get nodes<br>\r\nNAME       STATUS   ROLES                  AGE   VERSION<br>\r\nminikube   Ready    control-plane,master   76m   v1.22.3<\/p>\r\n<p>$ kubectl get nodes -o wide                                                   master?<br>\r\nNAME       STATUS   ROLES                  AGE   VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME<br>\r\nminikube   Ready    control-plane,master   96m   v1.22.3   192.168.49.2   <none>        Ubuntu 20.04.2 LTS   5.10.104-linuxkit   docker:\/\/20.10.8<br>\r\n$ docker ps<\/none><\/p>\r\n<p>CONTAINER ID   IMAGE                                 COMMAND                  CREATED       STATUS       PORTS                                                                                                                                  NAMES<br>\r\n1bdea8493ce7   gcr.io\/k8s-minikube\/kicbase:v0.0.28   &#8220;\/usr\/local\/bin\/entr\u2026&#8221;   2 hours ago   Up 2 hours   127.0.0.1:50116-&gt;22\/tcp, 127.0.0.1:50112-&gt;2376\/tcp, 127.0.0.1:50114-&gt;5000\/tcp, 127.0.0.1:50115-&gt;8443\/tcp, 127.0.0.1:50113-&gt;32443\/tcp   minikube<\/p>\r\n<p>$ minikube ip<br>\r\n192.168.49.2<\/p>\r\n<p>Go inside the minikube docker ( docker in docker )<br>\r\n$ docker exec -it minikube bash<br>\r\n$ docker ps<\/p>\r\n<p>$ minikube docker-env<br>\r\nexport DOCKER_TLS_VERIFY=&#8221;1&#8243;<br>\r\nexport DOCKER_HOST=&#8221;tcp:\/\/127.0.0.1:63230&#8243;<br>\r\nexport DOCKER_CERT_PATH=&#8221;\/Users\/jpuyy\/.minikube\/certs&#8221;<br>\r\nexport MINIKUBE_ACTIVE_DOCKERD=&#8221;minikube&#8221;<\/p>\r\n<p># To point your shell to minikube&#8217;s docker-daemon, run:<br>\r\n# eval $(minikube -p minikube docker-env)<\/p>\r\n<p>minikube service prometheus -n istio-system &#8211;url<br>\r\n&#x1f63f;  service istio-system\/prometheus has no node port<br>\r\n&#x1f3c3;  Starting tunnel for service prometheus.<br>\r\n|&#8212;&#8212;&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|<br>\r\n|  NAMESPACE   |    NAME    | TARGET PORT |          URL           |<br>\r\n|&#8212;&#8212;&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|<br>\r\n| istio-system | prometheus |             | http:\/\/127.0.0.1:64657 |<br>\r\n|&#8212;&#8212;&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|<br>\r\nhttp:\/\/127.0.0.1:64657<br>\r\n&#x2757;  Because you are using a Docker driver on darwin, the terminal needs to be open to run it.<\/p>\r\n<p>\r\n$ kubectl get svc -A | grep LoadBalancer<\/p>\r\n<p>istio-ingressgateway <\/p>\r\n<p>$ minikube tunnel<br>\r\n&#x2757;  The service\/ingress istio-ingressgateway requires privileged ports to be exposed: [80 443]<br>\r\n&#x1f511;  sudo permission will be asked for it.<br>\r\n&#x1f3c3;  Starting tunnel for service istio-ingressgateway.<br>\r\nPassword:<\/p>\r\n<p>Update:<br>\r\n2023-04-11<\/p>\r\n<p><\/p>\r\n<p>    &#x25aa; You are trying to run amd64 binary on M1 system. Please consider running darwin\/arm64 binary instead (Download at https:\/\/github.com\/kubernetes\/minikube\/releases\/download\/v1.30.1\/minikube-darwin-arm64.)<\/p>\r\n<p>mv \/tmp\/minikube-darwin-arm64 \/usr\/local\/bin\/minikube<br>\r\nchmod +x \/usr\/local\/bin\/minikube<br>\r\nfile \/usr\/local\/bin\/minikube<br>\r\n\/usr\/local\/bin\/minikube: Mach-O 64-bit executable arm64<br>\r\nminikube version<br>\r\nminikube version: v1.30.1<br>\r\ncommit: 08896fd1dc362c097c925146c4a0d0dac715ace0\r\n<\/p>\r\n<p>Install the Apple Chip Docker<br>\r\nhttps:\/\/www.docker.com\/<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Learn minikube Intel Chips: Mac mini 2018 Apple Chips: 13-inch, M2, 2022 MacBook Pro know drivers: https:\/\/minikube.sigs.k8s.io\/docs\/drivers\/ &#8212; I use docker desktop, but not enable kubernetes https:\/\/minikube.sigs.k8s.io\/docs\/start\/ Drivers: Docker &#8211; VM + Container (preferred) https:\/\/minikube.sigs.k8s.io\/docs\/drivers\/docker\/ turn off the docker =&gt; kubernetes feature. &#8220;` # remove minikube $ minikube delete &#x1f480; Removed all traces of the [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[185],"tags":[],"class_list":["post-9432","post","type-post","status-publish","format-standard","hentry","category-kubernetes"],"_links":{"self":[{"href":"https:\/\/jpuyy.com\/index.php?rest_route=\/wp\/v2\/posts\/9432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jpuyy.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jpuyy.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jpuyy.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/jpuyy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9432"}],"version-history":[{"count":45,"href":"https:\/\/jpuyy.com\/index.php?rest_route=\/wp\/v2\/posts\/9432\/revisions"}],"predecessor-version":[{"id":9818,"href":"https:\/\/jpuyy.com\/index.php?rest_route=\/wp\/v2\/posts\/9432\/revisions\/9818"}],"wp:attachment":[{"href":"https:\/\/jpuyy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jpuyy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9432"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jpuyy.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}