【K8S】基于Windows系统下使用minikube安装kubernetes集群
minikube在macOS,Linux和Windows上实现了本地Kubernetes集群。minikube的主要目标是成为本地Kubernetes应用程序开发的最佳工具,并支持所有适合的Kubernetes功能。
·
文章目录
前言
minikube在macOS,Linux和Windows上实现了本地Kubernetes集群。minikube的主要目标是成为本地Kubernetes应用程序开发的最佳工具,并支持所有适合的Kubernetes功能。
准备
- 2 CPUs or more
- 2GB of free memory
- 20GB of free disk space
- Internet connection
- Container or virtual machine manager
1️⃣ Installation
- 操作系统:Windows 10系统
- 系统架构:x86-64
- 发行版本:稳定版
- 安装方式:下载.exe
打开powershell,执行以下命令。
# 下载并运行最新版本的安装程序。
New-Item -Path 'c:\' -Name 'minikube' -ItemType Directory -Force
Invoke-WebRequest -OutFile 'c:\minikube\minikube.exe' -Uri 'https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe' -UseBasicParsing
注意事项:需要访问外网才能下载此安装包。
查看minikube安装包存放位置。
# 添加二进制文件,确保以Administrator.minikube.exePATH运行PowerShell
$oldPath = [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine)
if ($oldPath.Split(';') -inotcontains 'C:\minikube'){ `
[Environment]::SetEnvironmentVariable('Path', $('{0};C:\minikube' -f $oldPath), [EnvironmentVariableTarget]::Machine) `
}
注意:
以管理员运行方式
运行powershell,否则,发生报错。
2️⃣Start your cluster
- 检测Windows系统是否已经开启虚拟化设置
C:\Users\xybdiy>systeminfo
******此处内容省略******
Hyper-V 要求: 虚拟机监视器模式扩展: 是
固件中已启用虚拟化: 是
二级地址转换: 是
数据执行保护可用: 是
- 以
管理员身份运行
运行CMD命令符窗口
minikube start
💥不支持虚拟化嵌套🚫
3️⃣Interact with your cluster
若没有安装kubectl,请尝试执行minikube kubectl -- get pods -A
。下载kubectl版本。
kubectl -- get pods -A
或
minikube kubectl -- get pods -A
可以通过在shell配置中添加以下代码来简化命令的输入,执行以下命令。
alias kubectl="minikube kubectl --"
4️⃣minikube dashboard
为了进一步了解集群状态,minikube包含了Kubernetes仪表盘,方便学习。执行以下命令安装即可。
minikube dashboard
5️⃣ Manage your cluster
查询kubectl版本信息
minikube kubectl version
获取部署节点信息
minikube kubectl get nodes
暂停 Kubernetes 而不影响已部署的应用程序
minikube pause
取消暂停
minikube unpause
启动集群
minikube start
暂停群集
minikube stop
浏览安装的 Kubernetes 服务目录
minikube addons list
增加默认内存限制(需要重新启动)
minikube config set memory 8192
删除所有minikube集群
minikube delete --all
执行命令的结果。
C:\Windows\system32>minikube pause
* Pausing node minikube ...
* Paused 18 containers in: kube-system, kubernetes-dashboard, storage-gluster, istio-operator
C:\Windows\system32>minikube unpause
* Unpausing node minikube ...
* Unpaused 18 containers in: kube-system, kubernetes-dashboard, storage-gluster, istio-operator
C:\Windows\system32>minikube kubectl version
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.3", GitCommit:"816c97ab8cff8a1c72eccca1026f7820e93e0d25", GitTreeState:"clean", BuildDate:"2022-01-25T21:25:17Z", GoVersion:"go1.17.6", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.3", GitCommit:"816c97ab8cff8a1c72eccca1026f7820e93e0d25", GitTreeState:"clean", BuildDate:"2022-01-25T21:19:12Z", GoVersion:"go1.17.6", Compiler:"gc", Platform:"linux/amd64"}
C:\Windows\system32>minikube kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane,master 34m v1.23.3
C:\Windows\system32>minikube kubectl get pods
No resources found in default namespace.
C:\Windows\system32>minikube kubectl -- get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-64897985d-jrxph 1/1 Running 1 (9m54s ago) 34m
kube-system etcd-minikube 1/1 Running 1 (9m59s ago) 34m
kube-system kube-apiserver-minikube 1/1 Running 1 (9m49s ago) 34m
kube-system kube-controller-manager-minikube 1/1 Running 1 (9m59s ago) 34m
kube-system kube-proxy-755c7 1/1 Running 1 (9m59s ago) 34m
kube-system kube-scheduler-minikube 1/1 Running 1 (9m49s ago) 34m
kube-system storage-provisioner 1/1 Running 3 (7m47s ago) 34m
kubernetes-dashboard dashboard-metrics-scraper-58549894f-rkql7 1/1 Running 1 (9m59s ago) 20m
kubernetes-dashboard kubernetes-dashboard-ccd587f44-9gn4d 1/1 Running 1 (9m59s ago) 20m
C:\Windows\system32>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) |
| kong | minikube | disabled | third-party (Kong HQ) |
| 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 |
|-----------------------------|----------|--------------|--------------------------------|
6️⃣ 参考链接
更多推荐
已为社区贡献6条内容
所有评论(0)