目录

前言

什么是 Chocolatey与Minikube

Chocolatey

Minikube

安装 Minikube

安装 Chocolatey(如果尚未安装)

Minikube

遇到的问题

通过获取集群状态的方法

kubectl 可选配置和插件

启用 shell 自动补全功能

安装 kubectl convert 插件


前言

如果你想在自己的笔记本上(本地)运行 Kubernetes 集群,你需要先安装一个 Minikube 这样的工具,然后再重新运行上面的命令。

什么是 Chocolatey与Minikube

Chocolatey

包管理工具:Chocolatey 是一个 Windows 上的包管理工具,它允许用户轻松地安装、更新和卸载各种软件包,类似于 Linux 上的包管理工具(如apt、yum等)。

自动化软件安装:Chocolatey 允许用户使用命令行或脚本自动化软件的安装和配置。

软件包仓库:Chocolatey 提供了一个中央仓库,其中包含数千个可用的软件包,涵盖了各种开源和商业应用程序。

社区支持:Chocolatey 社区积极维护和更新软件包,因此用户可以轻松获取最新的软件版本。

Minikube

本地 Kubernetes 环境:Minikube 是一个工具,用于在开发者的本地计算机上创建和管理一个小型的 Kubernetes 集群。这允许开发者在本地测试和开发容器化的应用程序,而无需连接到远程集群。

容器化开发:Minikube 允许开发者轻松地在本地运行和测试 Kubernetes 部署,以确保应用程序在生产环境中的行为。

Kubernetes 版本管理:Minikube 支持多个 Kubernetes 版本,开发者可以选择要在其本地集群中使用的版本。

插件系统:Minikube 提供了插件系统,允许扩展其功能以满足特定需求。

安装 Minikube

安装 Chocolatey(如果尚未安装)

打开一个管理员权限的 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

安装 Minikube,一旦 Chocolatey 安装完成,你可以使用以下 Chocolatey 命令来安装 Minikube:

choco install minikube

Chocolatey 将自动下载并安装 Minikube。

Windows 中 kubectl 配置详细指南-LMLPHP

启动 Minikube,安装完成后,你可以使用以下命令启动 Minikube 集群:

minikube start

Minikube 将在本地虚拟机中启动一个Kubernetes集群。第一次启动可能需要一些时间,因为它需要下载Kubernetes二进制文件和基本映像。

检查 Minikube 是否在运行

minikube status

确保 Minikube 的状态是 "Running"。

如果不是,请尝试重新启动它:

minikube stop

验证 Minikube:一旦Minikube启动完成,你可以运行以下命令来验证它:

kubectl get nodes

应该显示一个节点,表示Minikube集群正常运行。

Windows 中 kubectl 配置详细指南-LMLPHP

遇到的问题

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 可选配置和插件

启用 shell 自动补全功能

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 的自动补全就可以工作了。

安装 kubectl convert 插件

一个 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

 

11-11 22:11