windows环境下Kubernetes及Docker安装(那些坑)
k8s 和 Docker容器技术,当前非常流行的技术. 让人日狗的是, 这套技术栈对CN的donet 程序员不怎么友好。娓娓道来,1. 好多镜像都是需要梯子才能访问; 2. window程序员天生对命令行操作陌生。3. 好多资料都是linux 等等.....
下面我们来一起安装部署下。
一, 安装环境。
1. Docker 容器本质就是虚拟技术。简单理解就是vmware 虚拟机(注:两种不同虚拟化技术,自行研究)。 建议windows 10 以上且支持虚拟化技术环境。如果机器没有开启虚拟化,进入Boise开启。 如果不支持虚拟化,需要安装 Docker Toolbox . 本人以下机器环境如下, 下面的安装步骤演示: windows 10 且启用虚拟化.
下载 Docker 安装包. (演示使用的是Edge版本)
安装后长这个样子:
* 这里面有坑, 安装好以后, 不能直接勾选启用K8s选项,再说一遍,不要点.
配置镜像,
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://registry.docker-cn.com"
],
"insecure-registries": [],
"debug": true,
"experimental": true
}
二, 拉取K8s镜像.
拉取镜像完成后执行如下操作. 具体可参考 博友文章. 开启和安装Kubernetes 基于Docker For Windows 按照此步骤下来, 在次不再详赘述.
1 2 3 4 5 6 7 8 9 | Powershell 执行: 步骤a: git clone https: //github.com/AliyunContainerService/k8s-for-docker-desktop.git cd k8s- for -docker-desktop 步骤b: .\load_images.ps1 步骤3: 打开Docker DashBoard , 勾选 "Enable Kubernetes" 选项. 此步骤比较耗时,耐心等待 |
三, 安装Kubernetes Dashboard
1 2 3 4 5 6 7 8 9 10 11 12 | 步骤1 . 查看当前k8s的kubectl 安装是否正确. PS执行: kubectl version 命令 步骤2: 通过yaml文件安装部署镜像. PS执行: kubectl apply -f https: //raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml 或 (从之前的k8s- for -docker-desktop 目录): PS执行: kubectl create -f kubernetes-dashboard.yaml |
查看当前docker运行状态:
PS执行: kubectl get pods --namespace kube-system
四,开启代理,
Ps: kubectl proxy
注意,只有当dashboard 容器,正常运行也就是状态为(Running),才能打开浏览器访问。当出现错误时,才看容器运行具体信息,使用如下命令:
kubectl describe pod kubernetes-dashboard-669f9bbd46-rhmst --namespace kube-system
执行 kubernetes-dashboard.yaml 文件时,可能拉取镜像失败,导致doashboard 容器不能正常执行。
镜像拉取失败处理:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 脚本 $DASHDOARD_VERSION= "v1.10.1" $HEAPSTER_VERSION= "v1.5.4" $GRAFANA_VERSION= "v5.0.4" $INFLUXDB_VERSION= "v1.5.2" $username= "registry.cn-hangzhou.aliyuncs.com/google_containers" $images= "kubernetes-dashboard-amd64:${DASHDOARD_VERSION}" , "heapster-grafana-amd64:${GRAFANA_VERSION}" , "heapster-amd64:${HEAPSTER_VERSION}" , "heapster-influxdb-amd64:${INFLUXDB_VERSION}" foreach ($item in $images) { docker pull ${username}/${item} docker tag ${username}/${item} k8s.gcr.io/${item} docker rmi ${username}/${item} } |
以下kubectl 常用命令:
kubectl create -f kubernetes-dashboard.yaml --删除资源
kubectl apply -f kubernetes-dashboard.yaml --重新应用配置
五, 打开Doashbard ,
打开浏览器:
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default
此时可能 也有问题无法登陆
1 2 | "Deleted kubernetes-dashboard version 1.10.1 and switched to v2.0.0-beta8 which worked like a charm: localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/overview?namespace=_all" 参考链接:https: //github.com/kubernetes-sigs/kubespray/issues/5347 |
获取登录token 命令:
---token 登录
$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-for-desktop --token="${TOKEN}"
echo $TOKEN
"Any key to exit" ;
Read-Host | Out-Null ;
Exit
终于躺坑完毕,
本文来自博客园,作者:至道中和,转载请注明原文链接:https://www.cnblogs.com/voidobject/p/12980444.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)