k8s Unable to connect to the server: EOF 问题解决

2023-11-16

原因是K8s 没有启动成功

如下状态方位,启动成功

启动失败的原因多数是镜像下载失败

找到 Docker 的设置页面,在 Docker Engine 页面,将镜像网站的地址加入到右侧配置文件的 registry-mirrors 节点下面,这里我使用的是 Docker 官方和中科大的镜像网站地址,你可以依据自己的喜好选择,调整完成之后重启 Dokcer 即可

{ "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn",// 中科大 "https://registry.docker-cn.com"// 官方 ], "insecure-registries": [], "debug": false, "experimental": false, "features": { "buildkit": true } }

镜像地址配置完成之后,clone 下 k8s-for-docker-desktop 这个项目,找到 load_images.ps1 这个 powershell 文件,打开后可以看到整个脚本其实是从阿里云拉取了相关的镜像,确保红框中的镜像版本与 Dokcer 内置的 K8s 版本保持一致,然后直接运行

因为使用到了 ps1 脚本文件来执行 powershell 命令,如果是第一次执行 powershell 的脚本文件的话,由于默认的安全策略,这里会提示没有权限执行,我们可以通过执行下面的语句来使脚本正常运行

Set-ExecutionPolicy RemoteSigned 

如果提示如下根据提示输入命令即可

等待命令的执行完成,可以看到我们本地的 Docker 中已经包含了 images.properties 文件中列到的镜像

打开 Docker 的设置页面,找到 Kubernetes 页面,选中 Enable Kubernetes,然后点击 Apply & Restart,这个执行过程有个一两分钟,稍等一会等待 K8s 的启动完成

当左下角出现 K8s 的 logo,并逐步变为绿色,整个 K8s 的环境也就运行起来了,此时我们就可以通过 kubectl 来操作集群,可以看到这里已经可以打印出整个“集群”的信息

启用 Dashboard

集群启动之后,虽然我们可以通过 kubectl 来操作集群,但是如果能够通过可视化页面的方式进行访问,则会更加便捷

在上文 clone 下的 repo 中有个 kubernetes-dashboard.yaml 文件,你可以直接通过 kubectl apply 命令运行,然后启用代理进行访问

 

-- 创建 dashboard 资源 kubectl apply -f kubernetes-dashboard.yaml -- 查看 Deployment 的运行状态 kubectl get deployment -n kuberenetes-dashboard -- 查看 Pod 的运行状态 kubectl get pods -n kuberenetes-dashboard -- 通过代理的方式访问 dashboard kubectl proxy

这里是使用 API Server 的形式访问的 dashboard ,具体的地址为:http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

我们可以使用下面的 powershell 命令打印出 token,然后登录到 dashboard 中查看整个集群的信息

((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]

当然,这里访问 dashboard 的方式不是最优解,后续每一次访问时,都需要执行 kubectl proxy,正常的做法应该是通过 ingress 进行代理访问。由于 K8s 我也是刚刚入门,对于 ingress 的使用没有过多的了解,所以这里留下一个 topic,后续再进行补充

要是启动以后无法加载数据 执行如下命令创建一个namespace

 kubectl create clusterrolebinding gitlab-cluster-admin --clusterrole=cluster-admin --group=system:serviceaccounts --namespace=dev


 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

k8s Unable to connect to the server: EOF 问题解决 的相关文章

随机推荐

  • python跳出for循环

    一 问题描述 在二维数组的遍历中 我们经常使用双层for循环 在某些时候 我们并不需要遍历整个二维数组 当条件满足时就应该终止for循环 但是 直接在内层循环中break并不会让外层循环也终止 二 解决方案 使用for else 语法解决
  • STM32的烧录和Hex/bin烧录文件解析、烧录文件是被如何存储到MCU中的?

    什么是hex文件 以 hex为后缀的文件我们称之为HEX文件 hex是intel规定的标准 hex的全称是Intel HEX 此类文件通常用于传输将被存于ROM或EEPROM中的程序和数据 是由一行行符合Intel HEX文件格式的文本所构
  • OpenWRT中的按键和灯的GPIO控制实现

    原文地址 点击打开链接 基于BarrierBreaker版本 基于AR9331 AP121 Demo单板 来进行描述 1 灯 A 在mach ap121 c中 定义了灯所对应的GPIO定义 define AP121 GPIO LED WLA
  • 详解以太坊的工作原理

    这篇文章主要讲解以太坊的基本原理 对技术感兴趣的朋友可以看看 翻译作者 许莉 原文地址 How does Ethereum work anyway 简介 不管你们知不知道以太坊 Ethereum blockchain 是什么 但是你们大概都
  • [机器学习入门笔记] 3. 监督学习单模型部分

    文章目录 前言 1 机器学习预备知识 1 1 关键术语与任务类型 1 2 机器学习三要素 1 3 机器学习的核心 1 4 机器学习流程 第 2 章 线性回归 2 1 线性回归的原理推导 2 2 线性回归的代码实现 2 2 1 基于Numpy
  • 网站反爬虫requests获取不到数据怎么办?

    import requests import re content requests get https blog csdn net seanyang type blog headers content decode 想通过requests
  • HackerRank Triangle Quest 2

    给你一个正整数n 例如n 5 则输出 1 121 12321 1234321 123454321 思路 这就是1 11 111 1111 的平方 题目不让用字符串做 或者代码不能超过一行见代码 for i in range 1 int in
  • JSON与JAVA数据的相互转换

    先做个记号 JSON与JAVA数据的相互转换
  • MySQL中的事务

    系列文章目录 MySQL常见的几种约束 MySQL中的函数 文章目录 系列文章目录 前言 一 事务及其特征 1 事务的概念 2 事务的特性 1 原子性 2 一致性 3 隔离性 4 持久性 二 事务并发问题 1 脏读 Dirty read 2
  • html.4

    一 表格的结构标签 可以确定表格在浏览器中的位置 htead 代表表格的头部 tbody 代表表格的主体 tfoot 代表表格的尾部 shift alt 鼠标 选中没以后的相同位置
  • c++ char数组转string

    代码 char数组的路径转string的路径 void charArrayPath2string char char array path MAX PATH std string string path std stringstream s
  • Shell脚本函数应用

    记录 429 场景 Shell脚本函数应用 定义函数 函数调用 函数传参 版本 CentOS Linux release 7 9 2009 1 普通函数 示例普通函数是没有入参和返回值 1 1脚本 脚本名称 b2023051701 sh 脚
  • Android基础知识(二)简单控件

    一 文本显示 考虑到结构样式相分离的思想 我们往往在XML中设置文本
  • ABAP 向上取整和向下取整 CEIL & FLOOR

    ls taba 2 zjybs floor lv zlssl ls taba 2 bstrf 向上取整 CEIL 改为向下取整 FLOOR DATA a TYPE mseg menge b TYPE mseg menge c TYPE ms
  • shell 与用户交互

    bash shell如何获取命令行参数 添加到命令后的数据 命令行选项 确定命令行为的英文字母 键盘输入数据 操作命令行参数 1 读取参数 bash shell用位置参数变量 positional parameter 存储命令行输入的所有参
  • 第一次考CCF有感

    DWT来查寝时告诉我ccf能查分了 突然间就很紧张 很忐忑 我不知道我将面临的分数会是多少 说实话我幻想过400分 因为我感觉这次题目相比以前还是要简单一些的 毕竟图论都没考 表面上 2018 12 17 登上网址 查询成绩 这短短的几秒仿
  • 分库分表之拆分键设计

    众所周知 在现实世界中 每一个资源都有其提供能力的最大上限 当单一资源达到最大上限后就得让多个资源同时提供其能力来满足使用方的需求 同理 在计算机世界中 单一数据库资源不能满足使用需求时 我们也会考虑使用多个数据库同时提供服务来满足需求 当
  • spring-boot返回数据为null时返回空字符串

    在项目开发中 我们会遇到一些null值 如果不想让返回数据有null值 而是返回空字符串该怎么办捏 So Easy 我们做一下配置就好了 1 Jackson null值处理 spring boot是对Jackson默认支持的 所以有了web
  • (十一) 编译工具cmake

    文章目录 1 简单例子 2 管理工程 3 生成和使用共享库 3 1生成动态共享库 3 2引用库文件 4 其他 4 1环境变量 4 2系统信息 4 3 主要的开关选项 5 常用指令 5 1ADD DEFINITIONS 5 2 ADD DEP
  • k8s Unable to connect to the server: EOF 问题解决

    原因是K8s 没有启动成功 如下状态方位 启动成功 启动失败的原因多数是镜像下载失败 找到 Docker 的设置页面 在 Docker Engine 页面 将镜像网站的地址加入到右侧配置文件的 registry mirrors 节点下面 这