Kubernetes集群添加新集群节点

通过 KubeKey 管理 Kubernetes 集群 增删节点 由于无法全面获取集群配置,生成配置文件后,请根据集群实际信息补全配置文件。–from-cluster 根据已存在集群信息生成配置文件.–kubeconfig 指定集群kubeconfig文件.通过以下命令删除节点,nodename指需要删除的节点名。将新节点的信息添加到集群配置文件,然后应用更改。-f 指定生成配置文件路径. 阅读详情

Kubernetes集群添加新集群节点

添加worker节点

参考文档https://gitee.com/open-hand/kubeadm-ha/blob/release-1.21/docs/02/%E6%B7%BB%E5%8A%A0%20worker%20%E8%8A%82%E7%82%B9.md

添加工作节点与集群安装时初始化工作节点一样,可以在主节点上执行,也可以在要加入的节点执行,只要执行主机安装ansible,并且可以访问主节点及要加入的新节点即可

待加入节点未安装docker

需要加入的节点没有安装docker,并且没有装其他应用执行如下指令应该就能正常安装成功

ansible-playbook -i example/hosts.s-master.ip.ini 81-add-worker.yml

待加入节点已安装docker

对于已经安装docker并且部署了应用服务的主机,添加新节点可能会出现各种问题

检查端口占用

kubernetes集群部署需要占用端口,对于已经安装docker、自己应用的主机需要先检查端口是否被占用,如果端口被占用将会导致对应安装组件无法运行查看文档了解需要使用到的端口

添加kubernetes yum源

添加/etc/yum.repos.d/kubernetes.repo文件,配置kubernetes yum源,内容如下

[kubernetes]
baseurl = https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled = 0
gpgcheck = 0
name = Kubernetes
检查已安装docker版本

安装Kubernetes集群不同版本对docker版本也有要求,如果docker版本不在Kubernetes版本支持范围会报如下错误
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UPIkXQ7z-1686574988202)(./imgs/docker版本与Kubernetes版本不一致报错.png)]
如果不在支持范围,并且docker中已经运行了应用不能卸载,则需要对docker进行升级或降级

yum对docker进行升级到指定版本
# 查看docker-ce版本列表
yum list docker-ce --showduplicates

# 查看docker-ce-cli版本列表
yum list docker-ce-cli --showduplicates

# 选取需要的版本进行升级
yum update -y docker-ce-20.10.21-3.el8 docker-ce-cli-20.10.21-3.el8
yum对docker进行降级到指定版本
# 查看docker-ce版本列表
yum list docker-ce --showduplicates

# 查看docker-ce-cli版本列表
yum list docker-ce-cli --showduplicates

# 将docker降到指定版本
yum downgrade --setopt=obsoletes=0 -y docker-ce-20.10.21-3.el8 docker-ce-cli-20.10.21-3.el8

如果从24.0.2-1.el8版本降到20.10.21-3.el8版本则会报如下错误
在这里插入图片描述
需要使用如下指令将冲突包docker-buildx-plugin卸载,然后再执行降级指令

yum remove docker-buildx-plugin -y
修改docker cgroup driver

修改/etc/docker/daemon.json文件内容指定cgroupdriver为systemd,如果不指定默认是使用cgroupfs。并且指定docker拉取镜像仓库,默认是使用dockerhub的公共镜像库比较慢。如果在你主机上不存在该文件就创建一个

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "exec-opts": ["native.cgroupdriver=systemd"],
  "registry-mirrors": [
        "http://hub-mirror.c.163.com"
  ],
  "bip": "172.17.10.1/16",
  "data-root": "/u01/data/docker"
}

更新完daemon.json文件后运行下面指令使配置生效

sudo systemctl daemon-reload

sudo systemctl restart docker
  • 如果启动docker失败则可以运行journalctl -xe查看详情,首先考虑daemon.json内容是否正确

注意不要使用命令sed -i “s#^ExecStart=/usr/bin/dockerd.*#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd#g” /usr/lib/systemd/system/docker.service更新cgroupdriver,如果使用上述指令更新导致docker无法启动,可能是因为/usr/lib/systemd/system/docker.service中–exec-opt native.cgroupdriver=systemd配置与daemon.json文件中"exec-opts": [“native.cgroupdriver=systemd”]冲突,可以去除/usr/lib/systemd/system/docker.service中–exec-opt native.cgroupdriver=systemd配置

执行添加新节点指令

执行如下指令

ansible-playbook -i example/hosts.s-master.ip.ini 81-add-worker.yml
nginx运行失败

在这里插入图片描述

  • 上述错误是nginx运行失败造成的,运行失败的原因大概率是端口占用导致

运行如下命令,查看运行失败的容器

docker ps -a

在这里插入图片描述
查看k8s_lb-nginx_lb-nginx容器日志,查看具体原因

docker logs -f 94fbc47c047e

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tR1r0UTO-1686574988205)(nginx端口占用导致异常.png)]

  • 可以看到错误原因是8081端口占用导致
yum基础软件包报错

在这里插入图片描述
尝试执行如下指令

yum clean all && yum update
  • 注意yum update会更新yum安装组件的版本到最新,慎用

如果设置了yum代理服务可能会报如下错误
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ciXtoH6R-1686574988206)(./imgs/yum安装软件包报错.png)]

  • 此错误是设置了代理服务器,可以通过/etc/yum.conf调整代理或去除代理
docker停止运行执行安装报错

在这里插入图片描述

  • 当前节点已安装docker,但报错确是crictl pull拉取镜像,而不是docker pull。检查发现docker未正常运行

首先尝试如下命令

sudo systemctl daemon-reload

sudo systemctl restart docker

得到如下报错
在这里插入图片描述

  • 从报错可以发现并没有说明具体报错原因,可以按提示尝试执行systemctl status docker.service或journalctl -xe查看有价值信息

执行如下指令查看docker重启失败详细信息

journalctl -xe

得到如下详情信息
在这里插入图片描述

  • 从报错可以看出,overlay2配置问题导致的,将overlay2配置从/etc/docker/daemon.json中移除。如果docker启动不了大概率是/etc/docker/daemon.json配置有问题
docker驱动以及端口占用报错

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面三张图展示的是docker驱动设置、端口占用导致的添加节点失败错误信息。如果反馈信息不能判断问题可以尝试在对应节点执行手工执行命名并添加–v=5查看具体原因

kubeadm join --config /etc/kubernetes/kubeadm-config.yaml 
--ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,FileAvailable--etc-kubernetes-pki-ca.crt --v=5
  • cgroup driver驱动配置问题:按上面配置cgroup driver

  • 某个地址访问不通:查看对应端口组件是否正常运行,大概率是端口被占用了

    • 127.0.0.1:8443: 通常是nginx没有启动,端口被占用

    • 127.0.0.1:10248:通常是解决完问题之后重新执行添加节点,忘记应该先要清理掉残留文件导致

把问题排查完之后清理残留文件重新执行

在处理好部署报错问题后,需要将安装失败时残留的服务、文件清理干净,以免引发新的问题。执行如下命令完成文件清理

kubeadm reset -f
modprobe -r ipip
rm -rf ~/.kube/
rm -rf /etc/kubernetes/
rm -rf /etc/systemd/system/kubelet.service.d
rm -rf /etc/systemd/system/kubelet.service
rm -rf /usr/bin/kube*
rm -rf /etc/cni
rm -rf /opt/cni
rm -rf /var/lib/etcd
rm -rf /var/etcd
yum clean all
yum remove kube*
k8s集群新增节点 如何动态的为k8s集群增加worknode节点?本文将详细介绍,kubeadm搭建k8集群详见 https://blog.youkuaiyun.com/wangqiubo2010/article/details/101203625。 一、VMWare(xSphere)安装Censtos7虚拟机。 具体安装步骤 请谷歌百度。 二、确定外网、与K8S集群网络是通的。 #1、测试与K8S集群的网络是否会互通,例如master节点的ip地址为 172.16.8.31。 ping 172.16.8.31 #2、测试. 阅读详情

相关推荐

K8S集群新增和删除Node节点(K8s Cluster Adds and Removes Node Nodes)

在Kubernetes (K8S) 集群中,Node节点是集群中的工作节点,它们运行着容器的实际实例。管理K8S集群中的Node节点,包括新增和删除节点,是一个常见且重要的操作,可以帮助你根据需求扩展或缩减集群的容量。本篇文章将分享一下如何在已有集群添加新节点和删除现有节点。

Linux运维老纪的博客 2147

添加node节点

使用kubeadm部署kubernetes集群的时候,需要在原有的集群中添加node节点。使用以下脚本在新服务器上安装环境需要的依赖包和依赖的服务。

认知 行动 坚持 1175

K8S搭建(centos)七、节点加入集群

每个人都有惰性,但不断学习是好好生活的根本,共勉!

感谢阅读 981

k8s集群加入一个新的node节点

安装kubelet-1.19.0 kubeadm-1.19.0 kubectl-1.19.0(建议和master节点的版本一致)实验目的:在已有的k8s集群中加入一个新的node节点,并正常工作。第一步:初始化系统参数 ,修改hosts和hostname。最后一步:将138接入到集群中。

fenglei2020的博客 6081

Docker部署FRP实现内网穿透

FRP是一款开源内网穿透工具,通过在公网服务器部署服务端(FRPS),内网设备运行客户端(FRPC)实现外部访问。支持TCP、UDP、HTTP等多种协议。部署时需配置服务端(如群晖NAS使用Docker)和客户端(如Windows下载可执行文件)。服务端需设置监听端口、控制面板及Token认证,客户端需指定服务器地址和相同Token。完成配置后可通过公网IP或域名访问内网资源,并在控制面板监控连接状态。

波哥技术栈 1602

STM32版CCD线性摄像头寻线寻迹小车_stm32接ccd

目前大多数的小车寻线寻迹都是用红外对管寻线,这是比较简单也比较成熟的技术方案,且成本也低。本文将介绍使用CCD线性摄像头寻线寻迹。TSL1401 线性传感器由一个 1x128 的光电二极管阵列、相关的电荷放大电路以及一个内部像素数据保功能组成。内部像素数据保功能可以为所有像素点提供同时积分的开始和停止时间。该阵列由 128 个像素组成,每个像素的感光面积为 3,524.3 平方微米。像素之间的间隔为 8μm。内部控制逻辑简化了操作,该模块需要串行输入(SI)信号和时钟信号(CLK)。

2401_87557129的博客 3229

k8s集群添加一个新GPU节点

现在是已经搭建好一个GPU集群,需要添加一个新的节点(3090卡),用来分担工作,大致可以分为以下几个部分: - 1,安装GPU驱动 - 2,安装docker - 3,安装cri-dockerd - 4,离线安装Nvidia-container-toolkit - 5,二进制安装k8s组件以及密钥

m0_62464865的博客 673

告别QWebEngineView!用QtLocation+SQLite打造离线地图应用(附完整源码)

本文详细介绍了如何利用QtLocation模块与SQLite数据库构建高性能离线地图引擎,解决传统QWebEngineView方案在网络依赖、内存占用和定制化方面的不足。通过多级缓存机制、异步写入优化和纹理压缩技术,实现工业级应用的稳定运行和高效渲染,特别适合车载导航和野外勘探等场景。

weixin_30431445的博客 364

一起来学k8s 36.二进制k8s集群添加新节点

二进制k8s集群添加新节点 当前环境 ##/etc/hosts 192.168.48.101 master01 192.168.48.102 master02 192.168.48.103 master03 192.168.48.201 node01 192.168.48.202 node02 192.168.48.54 nfs ## keepalived的vip 192.168.48.66 ...

隔壁小翔 893

BQ4050开发进阶(二):Protections参数优化策略与实战解析

本文深入解析了BQ4050电池管理芯片中Protections参数的优化策略与实战方法。针对电压、电流、温度等核心保护功能,详细阐述了如何根据具体电芯特性、负载场景和环境因素,精细调整CUV、COV、OCC/OCD等阈值与延时,以在确保电池绝对安全的前提下,实现极致的用户体验与系统可靠性。

rgv234567的博客 483

STM32 Nucleo-144开发板开箱bring-up

最近做项目,用到STM32F446ZET6这款MCU,为了赶进度,前期软件需要提前开发,于是在某宝买了对应主控的官方开发板,为了避免遗忘,后面能翻出来回忆一些细节,就形成了本篇的主要内容,同时也希望能够帮助刚上手的小伙伴少走弯路,如果对你有帮助请点赞、收藏、转发,谢谢!

汽车电子软件领域知识分享 2682

小技巧: 使用BOOTSTRAP Token将新节点添加到K8S集群

使用此技术,可在不提供任何证书且无需重新启动KUBE-APISERVER的情况下,将新节点添加到集群中 几天前,我写了一篇博客,内容涉及使用静态令牌文件将新节点添加到群集中。这种方法的问题在于,您需要重新启动kube-apiserver,提供令牌文件的路径。 在这里,我们将看到如何使用 bootstrap token ,该令牌本质上是动态的,可以通过使用Kubernetes资源(如secrets)...

琦彦 2822

MiniMax H3本地部署与ComfyUI集成实战:从环境配置到提示词优化

文本到视频生成是AI内容创作领域的关键技术,它基于扩散模型等深度学习原理,将自然语言描述转化为连贯的动态视觉序列。这项技术的核心价值在于大幅降低了视频制作的门槛,为短视频创作、概念可视化、教育内容生成等场景提供了高效工具。在实际工程实践中,成功部署和运行此类模型,如近期备受关注的MiniMax H3,需要精准处理环境配置、显存优化和提示词工程等环节。其中,解决“CUDA error: no kernel image is available”等版本兼容性问题,以及针对“8G显存”等有限资源进行参数调优,是确

weixin_33674976的博客 479

k8s集群节点更换ip 或者 k8s集群添加新节点

1.需求情景:机房网络调整,突然要回收我k8s集群上一台node节点机器的ip,并调予新的ip到这台机器上,所以有了k8s集群节点更换ip一说;同时,k8s集群节点更换ip也相当于k8s集群添加新节点,他们的操作流程是一样的。 2.机器更换ip后发生的现象:   (1)查看节点状态,kubectl get node ,还是原来的节点名称和Ready状态,但事实上它已经不工作了;...

weixin_30871905的博客 2097

智能解决装箱问题:使用优化算法实现高效包装

装箱问题(Bin Packing Problem)是组合优化领域中的一个经典问题,主要涉及如何将一系列对象高效地装入有限数量的容器(或“箱”)中,同时满足特定的约束条件。这个问题的目标是最小化所需使用的箱子数量或者最大化箱子的装载效率,以减少空间或资源的浪费。

MindOpt_003的博客 5552

芯片测试:WAT、CP、FT

最近部门来了一个日本回来的同事,虽然他尽量用非常Poor的中文给我解释一些东西,其中还夹杂着一些英文让我很受挫,于是最近来学一下WAT中的常用的单词含义。直接去查缩写、查单词很难去记住,要把具体的东西放在具体的场景,引发知识的连接才会在脑子里留下一定的映像。感兴趣的一起来学习一下这篇不错的文章吧。注释是我查询记录,如有不妥,欢迎指出修正。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 5092

k8s集群添加新节点-主节点和工作节点

k8s集群添加新节点 添加新的mast

张益达的博客 4851

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

k8s 集群添加新node work节点

后续需要添加节点时,忘记 token,使用以下命令查看token: kubeadm token list TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS 10cydu.o48pzyw9txf3832w <forever> <never&g.

wrtwen的博客 817

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

caas k8s主控节点如何查询_如何向k8s集群添加node节点

1.首先在新节点的机器上配置好master节点的host编辑/etc/host 文件添加master 节点的域名IP192.168.30.131apiserver.cluster.local2.在master节点上执行 kubeadm token create --print-join-command执行上面命令后将会输出root@node1:~#kubeadmtokencreate...

weixin_33239386的博客 774

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Kubernetes 集群添加新得node节点

服务不断增加,需要扩容 方式1: 主节点上 获取master的join token # kubeadm token create --print-join-command kubeadm join 192.168.100.133:6443 --token oy0sxi.tlsdixtn7leh039i --discovery-token-ca-cert-hash sha256:f974f65abb31abaea21c5fe403ef54265128bf66848e2c0fe17f29634d

oopxiajun博客专栏 416

kubernetes学习----k8s集群扩容

现有的k8s节点已经承担不起现有的业务量了,要对k8s集群进行扩容,添加节点,多个集群,如何确定节点可以加到合适的K8s集群里面呢。

weixin_66575196的博客 775

k8s新增Node节点 简单易上手 如何给k8s新添加node节点

endpoint位置添加阿里云的镜像源,https://yafixjtd.mirror.aliyuncs.com 这个地址是我自己阿里加速器地址,每个人都不一样。Kubernetes 1.8开始要求关闭系统的Swap,如果不关闭,默认配置下kubelet将无法启动。​ 修改/etc/fstab文件,注释掉SWAP的自动挂载,使用free -m确认swap已经关闭。下载flannel网络插件的镜像,与已经存在的集群节点使用的版本一样即可。因为ctr命令查看镜像非常混乱,可以用这个命令查看镜像。

soso678的博客 2040

k8s外接etcd更换节点

把开始加入的两个etcd1和etcd2的member的数量在initial-cluster中跟etcd3保持一致,从而保持member一致。将老的etcd的ca.crt和ca.key同步到3个新的etcd节点,给新的etcd生成证书。创建优先于kubeadm提供的kubelet单位文件的优先级的新单位文件来覆盖服务优先级。为新的3个etcd节点生成kubeadm-config.yaml文件,文件内容如下。同理,将第二个和第三个节点的etcd都增加到集群当中。更新新的etcd的证书为10年。

weixin_42323738的博客 930

单master节点k8s集群加入新的master节点报错error execution phase preflight: One or more conditions for hosting...

单master节点k8s集群加入新的master节点报错error execution phase preflight: One or more conditions for hosting… 一、查看节点: k8s-master01服务器: 查看token和证书: [root@k8s-master01 iamges-pull]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-mast

weixin_40668374的博客 3286

rancher部署k8s集群

1. 添加主机 a. 登录到rancher,点击右上角添加集群: b. 在页面上选择自定义选项: c. 设置好集群名称,选择k8s版本,我们这里以测试环境为例: d. 在主机选项中,三个全部勾选,在内网地址中,填入我们需要部署的虚拟机地址: 如 192.168.1.16 e. 我们把标记为2的黑框中的内容拷贝出来: f. 在我们刚刚填写的虚拟机中(如 192.168.1.16),执行此命令: g. 回到我们的rancher页面,会提示 一台新主机注册...

SerryYang的博客 2081

小技巧: 通过cert-rotate将新节点添加到K8S集群

使用此技术将节点添加到群集中而不提供任何证书 此处的设置是通过Kelsey Hightower的Kubernetes the Hard Way创建的。因此,如果您按照此步骤进行操作,请进行所有设置,直到执行Bootstrapping Kubernetes Worker Nodes步骤。 在这种情况下,请不要启动kubelet,而是启动其他服务containerd 和kube-proxy 主节点 按...

琦彦 1899
上一篇: Kubernetes之pod
下一篇: NFS服务器安装及NFS制备程序安装
炒栗子不加糖
博客等级 码龄10年 68粉丝 123原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值