kubernetes也是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。本文尝试在Windows 11下安装Kubernetes。
- 启动Hpyer-V 要安装Kubernetes,首先要确保系统已启动Hyper-V。最简单的方法,创建一个bat文件,添加以下内容,运行即可:
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
pause
网上有使用PowerShell直接运行以下代码安装的
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Tools-All -All
但实际上,直接在Windows 11下可能无法安装成功。 2. 安装minikube 直接运行以下脚本,下载minikube:
New-Item -Path 'D:\' -Name 'minikube' -ItemType Directory -Force
>> Invoke-WebRequest -OutFile 'D:\minikube\minikube.exe' -Uri 'https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe' -UseBasicParsing
- 运行minikube 完成后,直接运行minikube即可
PS D:\minikube> .\minikube.exe start
* Microsoft Windows 11 Home China 10.0.22000.2295 Build 22000.2295 上的 minikube v1.31.2
* 自动选择 hyperv 驱动
* 正在下载 VM boot image...
E0904 21:27:03.052775 6128 iso.go:90] Unable to download https://storage.googleapis.com/minikube-builds/iso/16971/minikube-v1.31.0-amd64.iso: getter: &{Ctx:context.Background Src:https://storage.googleapis.com/minikube-builds/iso/16971/minikube-v1.31.0-amd64.iso?checksum=file:https://storage.googleapis.com/minikube-builds/iso/16971/minikube-v1.31.0-amd64.iso.sha256 Dst:C:\Users\green\.minikube\cache\iso\amd64\minikube-v1.31.0-amd64.iso.download Pwd: Mode:2 Umask:---------- Detectors:[0x466f5e8 0x466f5e8 0x466f5e8 0x466f5e8 0x466f5e8 0x466f5e8 0x466f5e8] Decompressors:map[bz2:0xc000515f28 gz:0xc000515f80 tar:0xc000515f30 tar.bz2:0xc000515f40 tar.gz:0xc000515f50 tar.xz:0xc000515f60 tar.zst:0xc000515f70 tbz2:0xc000515f40 tgz:0xc000515f50 txz:0xc000515f60 tzst:0xc000515f70 xz:0xc000515f88 zip:0xc000515f90 zst:0xc000515fa0] Getters:map[file:0xc001050000 http:0xc000704050 https:0xc0007040a0] Dir:false ProgressListener:0x4603370 Insecure:false DisableSymlinks:false Options:[0x1981520]}: invalid checksum: Error downloading checksum file: bad response code: 404
* 正在下载 VM boot image...
> minikube-v1.31.0-amd64.iso....: 65 B / 65 B [---------] 100.00% ? p/s 0s
> minikube-v1.31.0-amd64.iso: 289.20 MiB / 289.20 MiB 100.00% 725.44 KiB
* 正在集群 minikube 中启动控制平面节点 minikube
* 正在下载 Kubernetes v1.27.4 的预加载文件...
> preloaded-images-k8s-v18-v1...: 393.21 MiB / 393.21 MiB 100.00% 24.45 M
* 正在创建 hyperv VM(CPUs=2,内存=4000MB,磁盘=20000MB)...
* 正在 Docker 24.0.4 中准备 Kubernetes v1.27.4…
- 正在生成证书和密钥...
- 正在启动控制平面...
- 配置 RBAC 规则 ...
* 配置 bridge CNI (Container Networking Interface) ...
* 正在验证 Kubernetes 组件...
- 正在使用镜像 gcr.io/k8s-minikube/storage-provisioner:v5
* 启用插件: storage-provisioner, default-storageclass
* kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A'
* 完成!kubectl 现在已配置,默认使用"minikube"集群和"default"命名空间
- 开启dashboard
PS D:\minikube> .\minikube kubectl -- get po -A
> kubectl.exe.sha256: 64 B / 64 B [---------------------] 100.00% ? p/s 0s
> kubectl.exe: 47.66 MiB / 47.66 MiB [--------] 100.00% 919.50 KiB p/s 53s
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-5d78c9869d-mkmj9 1/1 Running 0 2m30s
kube-system etcd-minikube 1/1 Running 0 2m45s
kube-system kube-apiserver-minikube 1/1 Running 0 2m43s
kube-system kube-controller-manager-minikube 1/1 Running 0 2m43s
kube-system kube-proxy-lq4hv 1/1 Running 0 2m30s
kube-system kube-scheduler-minikube 1/1 Running 0 2m43s
kube-system storage-provisioner 1/1 Running 1 (2m30s ago) 2m34s
PS D:\minikube> .\minikube dashboard
* 正在开启 dashboard ...
- 正在使用镜像 docker.io/kubernetesui/dashboard:v2.7.0
- 正在使用镜像 docker.io/kubernetesui/metrics-scraper:v1.0.8
* 某些 dashboard 功能需要启用 metrics-server 插件。为了启用所有功能,请运行以下命令:
minikube addons enable metrics-server
* 正在验证 dashboard 运行情况 ...
* 正在启动代理...
* 正在验证 proxy 运行状况 ...
* 正在使用默认浏览器打开 http://127.0.0.1:53545/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ ...