MiniKube搭建本地单节点Kubernetes集群(Windows)

minikube提供了一种非常简单的方法来安装单节点的K8S环境,minikube支持多种环境,比如linux,macos,windows都可以,支持多种安装方式,默认会使用virtualbox创建虚拟机并安装k8s环境,也可以在启动的时候通过--vm-driver 使用虚拟化技术

  • 打开MiniKube Github 找到realse 下载minikube的安装器

  • 运行minikube初始化命令
    可以更改最后的容器代理镜像地址

1
minikube start --vm-driver=virtualbox --image-mirror-country=cn --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.7.3.iso --registry-mirror=https://n0st2wzy.mirror.aliyuncs.com

成功后看到如下信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ minikube start --vm-driver=virtualbox --image-mirror-country=cn --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.7.3.iso --registry-mirror=https://n0st2wzy.mirror.aliyuncs.com
* Microsoft Windows 10 Home China 10.0.18363 Build 18363 上的 minikube v1.15.1
* 根据用户配置使用 virtualbox 驱动程序
* 正在使用镜像存储库 registry.cn-hangzhou.aliyuncs.com/google_containers
* 正在下载 VM boot image...
    > minikube-v1.7.3.iso: 167.39 MiB / 167.39 MiB [] 100.00% 11.17 MiB p/s 15s
* Starting control plane node minikube in cluster minikube
* Creating virtualbox VM (CPUs=2, Memory=4000MB, Disk=20000MB) ...
* Existing disk is missing new features (lz4). To upgrade, run 'minikube delete'
* 正在 Docker 19.03.6 中准备 Kubernetes v1.19.4…
    > kubelet.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s
    > kubectl.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s
    > kubeadm.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s
    > kubeadm: 37.30 MiB / 37.30 MiB [-----------] 100.00% 118.08 KiB p/s 5m23s2% 123.21 KiB p/s ETA 31s% 131.22 KiB p/s ETA 30s% 133.65 KiB p/s ETA 1sETA 35s
    > kubectl: 41.01 MiB / 41.01 MiB [-----------] 100.00% 121.51 KiB p/s 5m46s
    > kubelet: 104.92 MiB / 104.92 MiB [---------] 100.00% 193.45 KiB p/s 9m15s
* Verifying Kubernetes components...
* Enabled addons: storage-provisioner, default-storageclass
* kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A'
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
  • 将kubectl加入到环境变量,由于安装minikube时minikube的目录会自动加入到环境变量,所以只需要将kubectl复制到minikube的安装目录即可


1
2
3
$ kubectl get node -o  wide
NAME       STATUS   ROLES    AGE    VERSION   INTERNAL-IP      EXTERNAL-IP   OS-IMAGE              KERNEL-VERSION   CONTAINER-RUNTIME
minikube   Ready    master   118m   v1.19.4   192.168.99.100   <none>        Buildroot 2019.02.9   4.19.94          docker://19.3.6

  • dashboard
    输入minikube dashboard

  • 远程连接minikube主机

由于windows下cmd很容易出现乱码,所以选择通过xshell进行连接管理minikube节点,或者使用windows上的其他命令行工具,如cmder

  • 查看ip与用户


    image.png

  • 使用xshell连接minikube
    使用ssh连接,在${USER_HOME}\.minikube\machines\minikube下找到私钥