记录解决 windows docker kubectl 命令 https://kubernetes.docker.internal:6443/api?timeout=32s": EOF"
刚入手学习docker 和k8s 该踩得坑都得踩一遍 哭泣
docker 客户端 设置中有开启 k8s 的选项 开启后就可以使用k8s 了
安装 kubectl
# 我这边使用官网特别慢 要一些小时
curl.exe -LO "https://dl.k8s.io/release/v1.31.0/bin/windows/amd64/kubectl.exe"
官网安装 windows kubeclt 教程 连接
https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-windows/
安装成功后
kubectl version
感觉运行有点慢 但是有结果
PS C:\Users\Administrator> kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.5", GitCommit:"aea7bbadd2fc0cd689de94a54e5b7b758869d691", GitTreeState:"clean", BuildDate:"2021-09-15T21:10:45Z", GoVersion:"go1.16.8", Compiler:"gc", Platform:"windows/amd64"}
Unable to connect to the server: EOF
标记1 Unable to connect to the server: EOF 这个错误忽略了当时
正常输出的内容
PS C:\Users\Administrator> kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.5", GitCommit:"aea7bbadd2fc0cd689de94a54e5b7b758869d691", GitTreeState:"clean", BuildDate:"2021-09-15T21:10:45Z", GoVersion:"go1.16.8", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.5", GitCommit:"aea7bbadd2fc0cd689de94a54e5b7b758869d691", GitTreeState:"clean", BuildDate:"2021-09-15T21:04:16Z", GoVersion:"go1.16.8", Compiler:"gc", Platform:"linux/amd64"}
Client Version 客户端 版本信息 kubectl 使用 Kubernetes API 与 Kubernetes 集群的控制面进行通信的命令行工具。
Server Version 对应我安装docker k8s 服务器集群信息
编写yaml 文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: webook-record-service
spec:
# 三个副本
replicas: 2
selector:
matchLabels:
app: webook-record
template:
metadata:
labels:
# 这个 webook-record 一定要和前面的 selector 的 matchLabels 匹配上
app: webook-record
# 这个是 Deployment 管理的 Pod 的模板
spec:
# Pod 里面运行的所有的 container
containers:
- name: webook-record
image: lutong/webook:v0.0.1
ports:
- containerPort: 8080
kubectl apply -f webook-deployment.yaml 创建资源报错 https://kubernetes.docker.internal:6443/api?timeout=32s": EOF"
我意识到 kubernetes 访问不通过的问题,先看下docker 配置的开启的 k8s 是否启动了,一看k8s图标都是红的,启动失败了,docker 自带的k8s 不行 再找找其他办法
网上找到了解决办法
1.查看自己的 docker 下载的版本支持的k8s 版本
2.我的k8s版本是v1.21.5 进入阿里云对应容器服务:https://github.com/AliyunContainerService/k8s-for-docker-desktop/tree/v1.21.5
然后:
powershell执行命令 Set-ExecutionPolicy RemoteSigned (必须全选 A)
进入docker的resources目录运行命令 .\load_images.ps1
运行完成以后到docker中开启k8s 如下:
如图下k8s启动成功
如果看到 Kubernetes一直在启动状态,请参考
在Windows上面删除 ‘C:\ProgramData\DockerDesktop\pki’ 目录 和 ‘C:\Users\yourUserName\AppData\Local\Docker\pki’ 目录
如果还不行请重装 我这里是重装了 docker 就可以 了
重装docker 再去 阿里云 https://github.com/AliyunContainerService/k8s-for-docker-desktop/ 走一遍流程
Docker Desktop Installer For Windows 国内下载地址 https://blog.csdn.net/itfans123/article/details/139666875
引用连接
https://blog.csdn.net/Berzingou/article/details/106607782
https://github.com/AliyunContainerService/k8s-for-docker-desktop/tree/v1.21.5