zl程序教程

您现在的位置是:首页 >  .Net

当前栏目

【K8S】基于Windows系统下使用minikube安装kubernetes集群

2023-02-18 16:28:16 时间

文章目录

前言

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️⃣ 参考链接

Welcome! | minikube (k8s.io)

minikube start | minikube (k8s.io)

kubernetes/minikube: Run Kubernetes locally (github.com)