Kubernetes(k8s)安装和搭建集群时kubeadm init失败

2023-11-08

Kubernetes(k8s)按官方文档描述安装和搭建集群遇到kubelet状态异常:

环境: Cenots 7.9(2009) adm64

我在搭建master节点时通过以下命令安装了docker、kubelet、kubectl、kubeadm

yum install -y docker
yum install -y kubeadm-1.23.5
yum install -y kubelet-1.23.5
yum install -y kubectl-1.23.5

出现问题

  • 6443端口没有被监听
  • 查询kubelet服务统计信息显示master节点找不到
  • kubeadm init失败

kubelet服务的状态是active(running)

"Error getting node" err="node \"master\" not found"
"Container not found in pod's containers" containerID="b62a3a547c8ec57a7d3ead092eb2327c7cdf048646dbf66a553e3897f0d7305b"
"Failed to get status for pod" podUID=5194f92899c09489015cb06df2025e5a pod="kube-system/etcd-master" err="Get \"https://10.8.126.46:6443/api/v1/namespaces/kube-system/pods/etcd-master\": dial tcp 10.8.126.46:6443: connect: connection refused"
"Error getting node" err="node \"master\" not found"
"Container not found in pod's containers" containerID="7af1254c11eae47db66a215f886c885deb2154ce1dda831eca17849e91320f4f"
"Failed to get status for pod" podUID=c7705c73b73c93db911388082f346570 pod="kube-system/kube-scheduler-master" err="Get \"https://10.8.126.46:6443/api/v1/namespaces/kube-system/pods/kube-scheduler-master\": dial tcp 10.8.126.46:6443: connect: connection refused"
"Error getting node" err="node \"master\" not found"
"Error getting node" err="node \"master\" not found"

原因分析:

docker的版本不兼容,直接使用yum install -y docker去安装docker我这边安装下来的版本默认是1.13.1,怀疑k8s的版本太新,docker版本太旧从而导致部分特性不支持,不兼容,经查阅相关资料和验证,也确认了这一问题。

参考:stackoverflow的相关问题


解决方案:

  • 卸载原有docker
systemctl stop docker
yum remove erase docker docker-common docker-client cockpit-docker

  • 安装新版本docker-ce
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum install -y docker-ce-20.10.14-3.el7
systemctl enable docker
systemctl start docker
  • 重新设置kubeadm
kubeadm reset
kubeadm init \
  --apiserver-advertise-address=10.8.126.46 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.23.5 \
  --service-cidr=10.96.0.0/12 \
  --pod-network-cidr=10.244.0.0/16
  • 拓展
    可能上面问题处理完后还可能存在kubelet服务无法启动的问题,通过journalctl -xeu kubelet查询得知cgroup驱动不一致,参考官方文档进行相应修改即可:
    kubelet cgroup配置
    CRI cgroup配置
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes(k8s)安装和搭建集群时kubeadm init失败 的相关文章

随机推荐

  • CSDN如何导出为pdf文档?

    CSDN如何导出为pdf文档 1 打开要打印的csdn文章 2 按F12进入浏览器调试模式 在小箭头处粘贴以下三个代码中的任意一个并回车 可以每一个都尝试一下 总有一个适合你 方式一 推荐 对原文中的代码有增加 去掉了背景图片 其中的doc
  • 【Linux之Shell脚本实战】检查文件是否被修改脚本

    Linux之Shell脚本实战 检查文件是否被修改脚本 一 脚本要求 二 本地环境介绍 三 配置脚本注释模板 1 编辑 vimrc 文件 2 检查模板生效情况 四 编写shell脚本 1 创建脚本目录 2 编辑shell脚本 五 测试脚本功
  • IELTS Writing Line graph-Energy Consumption by Fuel

    The line graph above illustrates consumption of energy in the USA since 1980 with projections until 2030 As an overall t
  • 用Java实现一个简单的考试系统

    用Java实现一个简单的考试系统 需求分析 设计思路 编码实现 需求分析 该考试系统可以实现的功能和系统要求应该包括 学生 登录 考试 考试后查看成绩 老师 出题目 往题库中添加新题目 批阅卷子 同时打分 考试系统 学生的登录校验 存储学生
  • [Unity] 使用Mathf函数实现平滑移动物体的7种方法

    Unity中要利用Mathf中的函数实现物体的平滑运动 有以下7种方法 使用Mathf PingPong 函数在初始位置和X 311之间往复运动 rectTransform anchoredPosition new Vector2 Math
  • R数据分析:孟德尔随机化实操

    好多同学询问孟德尔随机化的问题 我再来尝试着梳理一遍 希望对大家有所帮助 首先看下图1分钟 盯着看将下图印在脑海中 上图是工具变量 不知道工具变量请翻之前的文章 的模式图 明确一个点 我们做孟德尔的时候感兴趣的是x和y的关系 也就是小b 但
  • Just a Hook

    http acm hdu edu cn showproblem php pid 1698 Problem Description In the game of DotA Pudge s meat hook is actually the m
  • 完美解决无法安装node-sass的问题

    很多人都会遇到这类问题 利用搜索引擎搜索一大堆解决方案 最终都不尽人意 所以下面我来为大家解决一下 希望看到的朋友少踩坑 如果你遇到其它的奇葩问题 欢迎给我留言 因为很多坑我都踩过 希望大家可用互帮互助 首先大家安装npm cnpm yar
  • VS2017中将调试信息输出到输出窗口

    在开发过程中输出调试信息总是必不可少的 之前习惯性的使用cout和printf 发现并不能输出调试信息到输出窗口中 后来通过网上了解之后 cout和printf只能输出信息到dos窗口中 但是如果我们的界面中不需要用到dcs窗口呢 经过网上
  • GMII,RGMII,SGMII,TBI,RTBI接口信号及时序介绍

    GMII RGMII SGMII TBI RTBI接口信号及时序介绍 千兆以太网MII接口类型主要有GMII RGMII SGMII TBI和RTBI 五种 GMII接 如下图 与MII接口相比 GMII的TX RX数据宽度由4位变为8位
  • MySQL学习总结(错误处理、游标、触发器)

    目录 一 错误处理 1 自定义错误名称 2 自定义错误处理程序 二 游标 1 操作流程 1 定义游标 2 打开游标 3 利用游标检索数据 4 关闭游标 2 使用游标检索数据 三 触发器 1 触发器概述 2 触发器的基本操作 1 创建触发器
  • pro e打开服务器文件,Pro/E要打开文件

    1 单击 文件 File 并从 文件 File 菜单底部的文件中选取一个文件 最近打开的四个文件会列在其中 要打开一个未列出的文件 可转到步骤 2 注解 创建某文件时 必须先保存该文件 然后它才会出现在 文件 File 菜单上的最近列表中
  • Java中int与Integer、Long与long有什么区别?

    今天在写代码时 突然测试方法疯狂报错 仔细检查了code几遍 确认无红线 既然代码书写没有错误 那为什么报关于long类型的错误 无奈之下 把DO Info Order 再次详细对照了一次 总算发现问题所在 因为项目中用到了Info整体赋值
  • 【oracle】 当前时间列表

    https www cnblogs com mwd banbo p 10401286 html https www iteye com blog appleses 1531048 SELECT listagg to char trunc s
  • 线程(Linux系统实现)

    目录 1 线程概述 2 主线程和子线程 3 创建线程 线程函数 创建线程示例 4 线程退出 线程退出的原理主要包括以下两个方面 5 线程回收 回收子线程数据 6 线程分离 7 线程取消 8 线程 ID 比较 1 线程概述 线程是轻量级的进程
  • Windows最全DOS的CMD命令

    CMD命令 开始 gt 运行 gt 键入cmd或command 在命令行里可以看到系统版本 文件系统版本 1 appwiz cpl 程序和功能 2 calc 启动计算器 3 certmgr msc 证书管理实用程序 4 charmap 启动
  • Python爬虫可以干什么?Python入门必看!

    在爬虫领域 Python几乎是霸主地位 虽然C Java GO等编程语言也可以写爬虫 但Python更具优势 不仅拥有优秀的第三方库 还可以为我们做很多的事情 那么Python爬虫可以干什么 Python爬虫有什么用 想必很多人都比较好奇
  • 【机考】华为OD2022.11.01机考题目思路与代码

    题目一 描述 输入一个长度为4的倍数的字符串 字符串中仅包含WASD四个字母 将这个字符串中的连续子串用同等长度的仅包含WASD的字符串替换 如果替换后整个字符串中WASD四个字母出现的频数相同 那么我们称替换后的字符串是 完美走位 求子串
  • keil5如何打开智能提示

    在使用keil中需要敲上许多重复代码 并且经常需要调用别人写好的包 这时候我们总不能每句代码都重复的敲一遍 这样不仅没有效率 还要去花时间记住许多自己或许不常用的代码 这时候就需要智能提示来帮助我们了 第一步 打开编辑Edit 目录里找到设
  • Kubernetes(k8s)安装和搭建集群时kubeadm init失败

    Kubernetes k8s 按官方文档描述安装和搭建集群遇到kubelet状态异常 环境 Cenots 7 9 2009 adm64 我在搭建master节点时通过以下命令安装了docker kubelet kubectl kubeadm