Windows 中 kubectl 配置详细指南

目录

前言

什么是 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 配置详细指南_第1张图片

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

minikube start

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

检查 Minikube 是否在运行

minikube status

确保 Minikube 的状态是 "Running"。

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

minikube stop

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

kubectl get nodes

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

Windows 中 kubectl 配置详细指南_第2张图片

遇到的问题

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

 

你可能感兴趣的:(Kubernetes,Kubernetes,Minikube,Chocolatey,kubectl)