minikube 使用 Hyper-V 安装迷你版 Kubernetes 集群
Kubernetes minikube Windows About 12,162 words说明
本文基于Windows
平台和Hyper-V
虚拟机。
官方文档
https://minikube.sigs.k8s.io/docs
choco 方式安装
choco install minikube
exe 方式安装
https://storage.googleapis.com/minikube/releases/latest/minikube-installer.exe
下载安装后
启动 minikube
默认不带参数启动
minikube start --vm-driver="hyperv" --memory=4096 --hyperv-virtual-switch="Default Switch"
添加镜像等参数
minikube start --vm-driver="hyperv" --memory=4096 --hyperv-virtual-switch="Default Switch" --image-mirror-country="cn" --registry-mirror=https://hub-mirror.c.163.com --registry-mirror=https://docker.mirrors.ustc.edu.cn --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --insecure-registry=registry.cn-hangzhou.aliyuncs.com --insecure-registry=registry.k8s.io
--vm-driver
:如果不写会自动检测,可选值virtualbox
,vmwarefusion
,hyperv
,vmware
。--memory
:设置虚机内存大小。--hyperv-virtual-switch
:设置Hyper-v
网卡。--image-mirror-country
:需要使用的镜像镜像的国家/地区代码。留空以使用全球代码。对于中国大陆用户,请将其设置为cn
。--registry-mirror
:Docker Registry
的镜像源,集群安装后拉取镜像加速用,可以使用其它加速器地址。这里使用中科大镜像。--image-repository
:用来拉取Kubernetes
集群所需镜像的仓库。--insecure-registry
:允许不校验HTTPS
证书,否则拉取镜像时会报x509: certificate signed by unknown authority
错误。
输出:
💿 Downloading VM boot image ...
> minikube-v1.25.0.iso.sha256: 65 B / 65 B [-------------] 100.00% ? p/s 0s
> minikube-v1.25.0.iso: 226.25 MiB / 226.25 MiB 100.00% 2.35 MiB p/s 1m37s
👍 Starting control plane node minikube in cluster minikube
🔥 Creating hyperv VM (CPUs=2, Memory=4096MB, Disk=20000MB) ...
❗ This VM is having trouble accessing https://registry.cn-hangzhou.aliyuncs.com/google_containers
💡 To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
🐳 Preparing Kubernetes v1.23.1 on Docker 20.10.12 ...
▪ kubelet.housekeeping-interval=5m
> 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: 43.12 MiB / 43.12 MiB [---------------] 100.00% 1.26 MiB p/s 34s
> kubectl: 44.43 MiB / 44.43 MiB [---------------] 100.00% 1.06 MiB p/s 42s
> kubelet: 118.75 MiB / 118.75 MiB [-------------] 100.00% 2.65 MiB p/s 45s
▪ Generating certificates and keys ...
▪ Booting up control plane ...
▪ Configuring RBAC rules ...
🔎 Verifying Kubernetes components...
▪ Using image registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v5
🌟 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
查看集群状态
minikube kubectl -- get pods -A
开启网页 dashboard
会自动打开浏览器
minikube dashboard
输出:
🔌 Enabling dashboard ...
▪ Using image registry.cn-hangzhou.aliyuncs.com/google_containers/dashboard:v2.3.1
▪ Using image registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-scraper:v1.0.7
🤔 Verifying dashboard health ...
🚀 Launching proxy ...
🤔 Verifying proxy health ...
🎉 Opening http://127.0.0.1:51859/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser...
只获取url
地址,不自动打开浏览器
minikube dashboard --url
输出:
🤔 Verifying dashboard health ...
🚀 Launching proxy ...
🤔 Verifying proxy health ...
http://127.0.0.1:61689/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
进入虚拟机
进入虚拟机后可以执行Linux
命令。
minikube ssh
输出:
PS C:\Users\hello> minikube ssh
_ _
_ _ ( ) ( )
___ ___ (_) ___ (_)| |/') _ _ | |_ __
/' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
d91132fffea6 7801cfc6d5c0 "/metrics-sidecar" 4 minutes ago Up 3 minutes k8s_dashboard-metrics-scraper_dashboard-metrics-scraper-6ccbc78cd8-xk89b_kubernetes-dashboard_718f383e-9d41-4cb5-a27b-dd218bf191bb_1
dbb64f039d73 e1482a24335a "/dashboard --insecu…" 4 minutes ago Up 4 minutes k8s_kubernetes-dashboard_kubernetes-dashboard-6ddd477f4f-4p8sh_kubernetes-dashboard_de53c867-728b-48f6-bb39-045eaf2bec09_1
1625215266ea 6e38f40d628d "/storage-provisioner" 4 minutes ago Up 4 minutes k8s_storage-provisioner_storage-provisioner_kube-system_181f6519-9006-4a3a-b418-4d65b977e490_1
e5b6a8370189 a4ca41631cc7 "/coredns -conf /etc…" 4 minutes ago Up 4 minutes k8s_coredns_coredns-65c54cc984-xwd9d_kube-system_5cb214a9-69b9-4a84-aa01-b9692612f325_1
b0f7ef380b44 registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 "/pause" 4 minutes ago Up 4 minutes k8s_POD_dashboard-metrics-scraper-6ccbc78cd8-xk89b_kubernetes-dashboard_718f383e-9d41-4cb5-a27b-dd218bf191bb_0
94d60637062e registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 "/pause" 4 minutes ago Up 4 minutes k8s_POD_kubernetes-dashboard-6ddd477f4f-4p8sh_kubernetes-dashboard_de53c867-728b-48f6-bb39-045eaf2bec09_0
b74467bba95b registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 "/pause" 4 minutes ago Up 4 minutes k8s_POD_storage-provisioner_kube-system_181f6519-9006-4a3a-b418-4d65b977e490_0
3a78e003375f registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 "/pause" 4 minutes ago Up 4 minutes k8s_POD_coredns-65c54cc984-xwd9d_kube-system_5cb214a9-69b9-4a84-aa01-b9692612f325_0
9326f0996f63 b46c42588d51 "/usr/local/bin/kube…" 4 minutes ago Up 4 minutes k8s_kube-proxy_kube-proxy-fcxwx_kube-system_07bab572-4281-4d3b-aa2d-2b3572cb31be_1
365a23f10853 registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 "/pause" 4 minutes ago Up 4 minutes k8s_POD_kube-proxy-fcxwx_kube-system_07bab572-4281-4d3b-aa2d-2b3572cb31be_0
dca753cd4aa7 71d575efe628 "kube-scheduler --au…" 4 minutes ago Up 4 minutes k8s_kube-scheduler_kube-scheduler-minikube_kube-system_caa84024ea92a00a01118194f34ff1d9_1
06d157a944d2 25f8c7f3da61 "etcd --advertise-cl…" 4 minutes ago Up 4 minutes k8s_etcd_etcd-minikube_kube-system_4a189f43677546bc364d72a08374a541_1
64bce00be335 f51846a4fd28 "kube-controller-man…" 4 minutes ago Up 4 minutes k8s_kube-controller-manager_kube-controller-manager-minikube_kube-system_a421b494cb0ac9be23d916f3d3c95c7f_1
e9f9a677f0ca b6d7abedde39 "kube-apiserver --ad…" 4 minutes ago Up 4 minutes k8s_kube-apiserver_kube-apiserver-minikube_kube-system_18b11e66586c2fba1425b6e15d707f12_1
675d30494bb0 registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 "/pause" 4 minutes ago Up 4 minutes k8s_POD_etcd-minikube_kube-system_4a189f43677546bc364d72a08374a541_0
d5cc0f985c68 registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 "/pause" 4 minutes ago Up 4 minutes k8s_POD_kube-scheduler-minikube_kube-system_caa84024ea92a00a01118194f34ff1d9_0
01af4298a836 registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 "/pause" 4 minutes ago Up 4 minutes k8s_POD_kube-controller-manager-minikube_kube-system_a421b494cb0ac9be23d916f3d3c95c7f_0
bd9371112351 registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 "/pause" 4 minutes ago Up 4 minutes k8s_POD_kube-apiserver-minikube_kube-system_18b11e66586c2fba1425b6e15d707f12_0
暂停 Kubernetes
minikube pause
恢复 Kubernetes
minikube unpause
停止 Kubernetes
minikube stop
调整内存大小
需要重启实例
minikube config set memory 16384
删除 Kubernetes
删除所有Kubernetes
实例
minikube delete --all
输出:
✋ Stopping node "minikube" ...
🛑 Powering off "minikube" via SSH ...
🔥 Deleting "minikube" in hyperv ...
💀 Removed all traces of the "minikube" cluster.
🔥 Successfully deleted all profiles
退后后再次启动
如果虚拟机关闭后,再次开启虚拟机后需再执行minikube start
命令启动Kubernetes
。
minikube start
查看插件列表
minikube addons list
输出:
|-----------------------------|----------|--------------|--------------------------------|
| ADDON NAME | PROFILE | STATUS | MAINTAINER |
|-----------------------------|----------|--------------|--------------------------------|
| ambassador | minikube | disabled | third-party (ambassador) |
| auto-pause | minikube | disabled | google |
| csi-hostpath-driver | minikube | disabled | kubernetes |
| dashboard | minikube | enabled ✅ | kubernetes |
| default-storageclass | minikube | enabled ✅ | kubernetes |
| efk | minikube | disabled | third-party (elastic) |
| freshpod | minikube | disabled | google |
| gcp-auth | minikube | disabled | google |
| gvisor | minikube | disabled | google |
| helm-tiller | minikube | disabled | third-party (helm) |
| ingress | minikube | disabled | unknown (third-party) |
| ingress-dns | minikube | disabled | google |
| istio | minikube | disabled | third-party (istio) |
| istio-provisioner | minikube | disabled | third-party (istio) |
| kubevirt | minikube | disabled | third-party (kubevirt) |
| logviewer | minikube | disabled | unknown (third-party) |
| metallb | minikube | disabled | third-party (metallb) |
| metrics-server | minikube | disabled | kubernetes |
| nvidia-driver-installer | minikube | disabled | google |
| nvidia-gpu-device-plugin | minikube | disabled | third-party (nvidia) |
| olm | minikube | disabled | third-party (operator |
| | | | framework) |
| pod-security-policy | minikube | disabled | unknown (third-party) |
| portainer | minikube | disabled | portainer.io |
| registry | minikube | disabled | google |
| registry-aliases | minikube | disabled | unknown (third-party) |
| registry-creds | minikube | disabled | third-party (upmc enterprises) |
| storage-provisioner | minikube | enabled ✅ | google |
| storage-provisioner-gluster | minikube | disabled | unknown (third-party) |
| volumesnapshots | minikube | disabled | kubernetes |
|-----------------------------|----------|--------------|--------------------------------|
kubectl
Linux
下可以使用alias
alias kubectl="minikube kubectl --"
Windows
下可以使用doskey
起别名,但比较麻烦,可以直接下载exe
二进制文件,加入到环境变量中即可使用kubectl
https://kubernetes.io/docs/tasks/tools/install-kubectl-windows
开源地址
https://github.com/kubernetes/minikube
阿里镜像
Views: 3,052 · Posted: 2022-03-27
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...