Dapr+Kubernetes 实战一
2022-03-20 13:05 Dorisoy 阅读(348) 评论(0) 编辑 收藏 举报一. 在 Windows 上安装 kubectl
创建目录:kubectl
New-Item -Path 'c:\' -Name 'kubectl' -ItemType Directory -Force
进入目录:下载二进制包,注意:powershell 中使用curl.exe 或 Invoke-WebRequest
curl.exe -LO "https://dl.k8s.io/release/v1.23.0/bin/windows/amd64/kubectl.exe"
二. 将 kubectl 二进制文件夹附加或添加到您的PATH
环境变量中
三.测试以确保版本kubectl
与下载的相同:
kubectl version --client
或者使用它来查看版本的详细信息:
kubectl version --client --output=yaml
注意: Docker Desktop for Windows添加了自己的kubectl
to版本PATH
。如果您之前安装过 Docker Desktop,您可能需要将您的PATH
条目放在 Docker Desktop 安装程序添加的条目之前,或者删除 Docker Desktop 的kubectl
.
四.验证 kubectl 配置
为了让 kubectl 找到和访问 Kubernetes 集群,它需要一个 kubeconfig 文件,该文件在您使用kube-up.sh创建集群 或成功部署 Minikube 集群时自动创建。默认情况下,kubectl 配置位于~/.kube/config
.
通过获取集群状态检查 kubectl 是否正确配置:
kubectl cluster-info
如果您看到 URL 响应,则 kubectl 已正确配置为访问您的集群。
如果您看到类似以下的消息,则 kubectl 配置不正确或无法连接到 Kubernetes 集群。
The connection to the server <server-name:port> was refused - did you specify the right host or port?
例如,如果您打算在笔记本电脑(本地)上运行 Kubernetes 集群,则需要先安装 Minikube 之类的工具,然后重新运行上述命令。
如果 kubectl cluster-info 返回 url 响应但您无法访问您的集群,请检查它是否配置正确,请使用:
kubectl cluster-info dump
如果运行报以下异常:
Unable to connect to the server: dial tcp [::1]:8080: connectex: No connecti
请检查Docker deskTop 是否启用
五. 安装kubectl convert
插件
Kubernetes 命令行工具的插件kubectl
,允许您在不同 API 版本之间转换清单。这对于将清单迁移到具有较新 Kubernetes 版本的非弃用 api 版本特别有用。有关更多信息,请访问迁移到非弃用 api
-
使用以下命令下载最新版本:
curl -LO "https://dl.k8s.io/release/v1.23.0/bin/windows/amd64/kubectl-convert.exe"
-
验证二进制文件(可选)
下载 kubectl-convert 校验和文件:
curl -LO "https://dl.k8s.io/v1.23.0/bin/windows/amd64/kubectl-convert.exe.sha256"
根据校验和文件验证 kubectl-convert 二进制文件:
-
使用命令提示符手动将
CertUtil
的输出与下载的校验和文件进行比较:CertUtil -hashfile kubectl-convert.exe SHA256 type kubectl-convert.exe.sha256
-
使用 PowerShell 使用
-eq
运算符自动验证以获取 aTrue
或False
结果:$($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)
-
-
将 kubectl 二进制文件夹附加或添加到您的
PATH
环境变量中。 -
验证插件是否安装成功
kubectl convert --help
如果您没有看到错误,则表示插件已成功安装。
六. 安装 Minikube
下载最新版 https://storage.googleapis.com/minikube/releases/latest/minikube-installer.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
将二进制文件添加到您的PATH
$oldPath = [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine)
if ($oldPath.Split(';') -inotcontains 'C:\minikube'){ `
[Environment]::SetEnvironmentVariable('Path', $('{0};C:\minikube' -f $oldPath), [EnvironmentVariableTarget]::Machine) `
}
七.启动您的集群
minikube start
如果你收到如下:
minikube : 无法将“minikube”项识别为 cmdlet、
那么请检查权限:
Get-ExecutionPolicy -List 查看当前所有作用域
PS C:\> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine RemoteSigned
设置权限 Set-ExecutionPolicy RemoteSigned -Scope < scopeName >,设置当前用户作用域具备权限,具体设置格
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
官方向导请参照:https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/
minikube start