Docker 与 K8S学习笔记(十四)—— Minikube的安装
上一篇我们简单介绍了Kubernetes基本概念,在正式进入学习之前呢我们当务之急是需要搭一套Kubernetes环境,考虑到我们仅仅是学习用所以直接使用MiniKube搭建环境。
PS:Minikube 是一个构建单节点集群的工具,是运行 Kubemetes 集群最简单、最快捷的途径
一、Kubectl安装
为了避免网络问题,我们直接使用阿里云的下载地址:
$ curl -Lo kubectl http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/v1.20.0/bin/linux/amd64/kubectl && chmod +x ./kubectl && sudo mv ./kubectl /usr/local/bin/kubectl
验证是否安装成功:
$ kubectl version --client Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.0", GitCommit:"af46c47ce925f4c4ad5cc8d1fca46c7b77d13b38", GitTreeState:"clean", BuildDate:"2020-12-08T17:59:43Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}
二、MiniKube安装
同样我们还是用阿里云的下载地址:
$ curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.16.0/minikube-linux-amd64 && chmod +x ./minikube && sudo mv ./minikube /usr/local/bin/minikube % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 53.7M 100 53.7M 0 0 6417k 0 0:00:08 0:00:08 --:--:-- 5776k
安装完毕后我们启动集群:
$ sudo minikube start --driver=none ?? minikube v1.16.0 on Ubuntu 18.04 ? Using the none driver based on user configuration ? Exiting due to GUEST_MISSING_CONNTRACK: Sorry, Kubernetes 1.20.0 requires conntrack to be installed in root's path
这里有报错,根据提示信息我们需要安装conntrack:
$ sudo apt-get install conntrack
再次启动,由于第一次启动,minikube会下载很多镜像,所以比较慢。启动成功后的输出如下:
$ sudo minikube start --driver=none ?? minikube v1.16.0 on Ubuntu 18.04 ? Using the none driver based on existing profile ?? Starting control plane node minikube in cluster minikube ?? Restarting existing none bare metal machine for "minikube" ... ?? OS release is Ubuntu 18.04 LTS ?? Preparing Kubernetes v1.20.0 on Docker 20.10.8 ... ? kubelet.resolv-conf=/run/systemd/resolve/resolv.conf > kubelet.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s > kubeadm.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s > kubectl.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s > kubectl: 38.37 MiB / 38.37 MiB [---------------] 100.00% 2.68 MiB p/s 14s > kubeadm: 37.40 MiB / 37.40 MiB [---------------] 100.00% 2.20 MiB p/s 17s > kubelet: 108.69 MiB / 108.69 MiB [-------------] 100.00% 4.57 MiB p/s 24s ? Generating certificates and keys ... ? Booting up control plane ... ? Configuring RBAC rules ... ?? Configuring local host environment ... ? The 'none' driver is designed for experts who need to integrate with an existing VM ?? Most users should use the newer 'docker' driver instead, which does not require root! ?? For more information, see: https://minikube.sigs.k8s.io/docs/reference/drivers/none/ ? kubectl and minikube configuration will be stored in /home/yangye ? To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run: ? sudo mv /home/yangye/.kube /home/yangye/.minikube $HOME ? sudo chown -R $USER $HOME/.kube $HOME/.minikube ?? This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true ?? Verifying Kubernetes components... ?? Enabled addons: storage-provisioner, default-storageclass ?? Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
我们可以看一下当前集群所有资源情况:
$ sudo kubectl get all -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system pod/coredns-54d67798b7-7kshc 1/1 Running 0 100s kube-system pod/etcd-ayato 1/1 Running 0 108s kube-system pod/kube-apiserver-ayato 1/1 Running 0 108s kube-system pod/kube-controller-manager-ayato 1/1 Running 0 108s kube-system pod/kube-proxy-cvb25 1/1 Running 0 100s kube-system pod/kube-scheduler-ayato 1/1 Running 0 108s kube-system pod/storage-provisioner 1/1 Running 0 113s NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default service/kubernetes ClusterIP 10.96.0.1443/TCP 117s kube-system service/kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP,9153/TCP 115s NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE kube-system daemonset.apps/kube-proxy 1 1 1 1 1 kubernetes.io/os=linux 115s NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE kube-system deployment.apps/coredns 1/1 1 1 115s NAMESPACE NAME DESIRED CURRENT READY AGE kube-system replicaset.apps/coredns-54d67798b7 1 1 1 100s
三、关于MiniKube常用命令
minikube version:查看版本
minikube status:查看状态
minikube profile list:查看属性
minikube addons list:查看当前支持的插件
minikube service list:查看服务列表
minikube node list:参看添加的node
minikube ssh:登录
minikube ip:获取IP地址
minikube start:启动或重启
minikube stop:停止
minikube delete:删除
minikube dashboard:在默认浏览器中启动仪表盘
rm-rf ~/.minikube:重置(清理所有缓存的镜像)