目录
前言
什么是 Chocolatey与Minikube
Chocolatey
Minikube
安装 Minikube
安装 Chocolatey(如果尚未安装)
Minikube
遇到的问题
通过获取集群状态的方法
kubectl 可选配置和插件
启用 shell 自动补全功能
安装 kubectl convert 插件
如果你想在自己的笔记本上(本地)运行 Kubernetes 集群,你需要先安装一个 Minikube 这样的工具,然后再重新运行上面的命令。
包管理工具:Chocolatey 是一个 Windows 上的包管理工具,它允许用户轻松地安装、更新和卸载各种软件包,类似于 Linux 上的包管理工具(如apt、yum等)。
自动化软件安装:Chocolatey 允许用户使用命令行或脚本自动化软件的安装和配置。
软件包仓库:Chocolatey 提供了一个中央仓库,其中包含数千个可用的软件包,涵盖了各种开源和商业应用程序。
社区支持:Chocolatey 社区积极维护和更新软件包,因此用户可以轻松获取最新的软件版本。
本地 Kubernetes 环境:Minikube 是一个工具,用于在开发者的本地计算机上创建和管理一个小型的 Kubernetes 集群。这允许开发者在本地测试和开发容器化的应用程序,而无需连接到远程集群。
容器化开发:Minikube 允许开发者轻松地在本地运行和测试 Kubernetes 部署,以确保应用程序在生产环境中的行为。
Kubernetes 版本管理:Minikube 支持多个 Kubernetes 版本,开发者可以选择要在其本地集群中使用的版本。
插件系统:Minikube 提供了插件系统,允许扩展其功能以满足特定需求。
打开一个管理员权限的 PowerShell 或命令提示符窗口,然后运行以下命令以安装 Chocolatey:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
这将安装 Chocolatey 包管理工具。
安装 Minikube,一旦 Chocolatey 安装完成,你可以使用以下 Chocolatey 命令来安装 Minikube:
choco install minikube
Chocolatey 将自动下载并安装 Minikube。
启动 Minikube,安装完成后,你可以使用以下命令启动 Minikube 集群:
minikube start
Minikube 将在本地虚拟机中启动一个Kubernetes集群。第一次启动可能需要一些时间,因为它需要下载Kubernetes二进制文件和基本映像。
检查 Minikube 是否在运行
minikube status
确保 Minikube 的状态是 "Running"。
如果不是,请尝试重新启动它:
minikube stop
验证 Minikube:一旦Minikube启动完成,你可以运行以下命令来验证它:
kubectl get nodes
应该显示一个节点,表示Minikube集群正常运行。
Hyper-V PowerShell 模块不可用:minikube 尝试使用 Hyper-V 驱动程序,但由于缺少 Hyper-V PowerShell 模块,无法创建虚拟机。错误消息建议你运行以下命令启用 Hyper-V PowerShell 模块:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Tools-All -All
运行此命令并确保 Hyper-V PowerShell 模块已成功启用后,尝试重新运行 minikube start。
检查是否已恰当地配置了 kubectl:
kubectl cluster-info
如果返回一个 URL,则意味着 kubectl 成功地访问到了你的集群。
如果命令 kubectl cluster-info 返回了 URL,但你还不能访问集群,那可以用以下命令来检查配置是否妥当:
kubectl cluster-info dump
kubectl 为 Bash、Zsh、Fish 和 PowerShell 提供自动补全功能,可以为你节省大量的输入。
下面是设置 PowerShell 自动补全功能的操作步骤。
你可以使用命令 kubectl completion powershell 生成 PowerShell 的 kubectl 自动补全脚本。
如果需要自动补全在所有 Shell 会话中生效,请将以下命令添加到 $PROFILE 文件中:
kubectl completion powershell | Out-String | Invoke-Expression
此命令将在每次 PowerShell 启动时重新生成自动补全脚本。你还可以将生成的自动补全脚本添加到 $PROFILE 文件中。
如果需要将自动补全脚本直接添加到 $PROFILE 文件中,请在 PowerShell 命令行运行以下命令:
kubectl completion powershell >> $PROFILE
完成上述操作后重启 Shell,kubectl 的自动补全就可以工作了。
一个 Kubernetes 命令行工具 kubectl 的插件,允许你将清单在不同 API 版本间转换。 这对于将清单迁移到新的 Kubernetes 发行版上未被废弃的 API 版本时尤其有帮助。 更多信息请访问迁移到非弃用 API
用以下命令下载最新发行版:
curl.exe -LO "https://dl.k8s.io/release/v1.28.3/bin/windows/amd64/kubectl-convert.exe"
验证该可执行文件(可选步骤)。下载 kubectl-convert 校验和文件:
curl.exe -LO "https://dl.k8s.io/v1.28.3/bin/windows/amd64/kubectl-convert.exe.sha256"
基于校验和验证 kubectl-convert 的可执行文件:
用提示的命令对 CertUtil 的输出和下载的校验和文件进行手动比较。
使用 PowerShell -eq 操作使验证自动化,获得 True 或者 False 的结果:
CertUtil -hashfile kubectl-convert.exe SHA256
type kubectl-convert.exe.sha256
$($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)
将 kubectl-convert 二进制文件夹附加或添加到你的 PATH 环境变量中。
验证插件是否安装成功。
kubectl convert --help
如果你没有看到任何错误就代表插件安装成功了。
安装插件后,清理安装文件:
del kubectl-convert.exe kubectl-convert.exe.sha256