CentOS和Ubuntu混合部署k8s(含排错过程 )

这篇具有很好参考价值的文章主要介绍了CentOS和Ubuntu混合部署k8s(含排错过程 )。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、结论

先说结论,centos和ubuntu可以混合部署k8s,且版本不同

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s

二、写在前面的废话

最近学习k8s,刚开始自己电脑上使用虚拟机,因为电脑配置一般,开两台虚拟机后比较卡顿,所以切换到阿里云环境。这里必须说一下的是阿里云提供三个月的免费试用,最多可提供4台服务器,这对于一般学习k8s来说,足够了。

刚开始基于centos7.9搭建了1.28.4版本的k8s,但是CKA考试是ubuntu系统,于是计划将服务器的系统更换为ubuntu20.04(对考试来说基本没有差别,纯属瞎折腾)。因为更换系统后要重新配置网络、机器名、初始化环境等操作,比较繁琐。所以在将两台服务器系统更换为ubuntu并搭建了1.28.0版本的k8s后,突然冒出是否可将原来已安装k8s相关组件的centos系统加入k8s集群。于是开始了以下尝试。

三、环境说明

机器名 操作系统 IP 版本 备注
k8s-master01 Ubuntu20.04 172.28.217.42 k8s:v1.28.0;containerd:1.6.26 现k8s集群master节点
k8s-node01 Ubuntu20.04 172.28.217.44 k8s:v1.28.0;containerd:1.6.26 现k8s集群node节点
k8s-node02 CentOS7.9 172.28.217.43 k8s:v1.28.2;containerd:1.6.25 原k8s集群node节点

现有k8s集群如下:

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s

任务目标:将系统为centos的k8s-node02节点(已安装kubeadm-1.28.2、kubelet-1.28.2、kubectl-1.28.2、containerd-1.6.25)加入现有k8s集群。

四、具体步骤

具体网络配置、机器名设置、hosts文件设置、免密登陆等这里不再赘述。

1.重置k8s-node02节点(centos系统),并根据提示删除相关目录

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s

[root@k8s-node02 ~]# kubeadm reset
[root@k8s-node01 ~]# rm -Rf .kube/*
[root@k8s-node01 ~]# ipvsadm --clear
[root@k8s-node01 ~]# rm -rf /etc/cni/net.d

2.主节点创建加入集群命令

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s

root@k8s-master01:~# kubeadm token create --print-join-command

3.k8s-node02节点加入集群

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s报错: [ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not exist

排查原因:没有加载 br_netfilter 模块。

解决如下:

[root@k8s-node02 ~]# modprobe br_netfilter

[root@k8s-node02 ~]# sysctl -p /etc/sysctl.d/k8s.conf
vm.swappiness = 0
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

重新加入成功:

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s

此时可在控制节点查看节点信息,但是新加入节点一直是 NotReady 状态:

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s查看pod创建情况,发现 calico-node  和 kube-proxy pod在k8s-node02节点上没有创建成功:

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s

查看pod未创建成功原因(省略部分截图):

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s

报错:Failed to create pod sandbox: open /run/systemd/resolve/resolv.conf: no such file or directory

原因:k8s-node02(centos系统)节点未安装systemd-resolved。

PS:原来基于centos搭建k8s集群时,所有节点都未安装systemd-resolved,集群搭建成功。此处不知为何,可能是使用ubuntu搭建集群的系统都安装了systemd-resolved的原因,具体还需再确认,如有知道原因的可以评论,感谢!

k8s-node02节点安装systemd-resolved:

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s

控制节点查看,pod已在k8s-node02节点正常启动:

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s

问题:k8s-node02节点任然是 NotReady 状态

查看k8s-node02节点信息(省略部分截图):

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s

报错信息: container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized

解决:重启k8s-node02节点containerd服务。

PS:尽管问题解决了,但是其中原理还是不太清楚,还需研究。如有知道的可评论,感谢!

再次查看节点,全部为Read状态,问题解决。重启三台服务器后,k8s集群正常。

CentOS和Ubuntu混合部署k8s(含排错过程 ),centos,ubuntu,kubernetes,k8s文章来源地址https://www.toymoban.com/news/detail-768102.html

到了这里,关于CentOS和Ubuntu混合部署k8s(含排错过程 )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s 1.26.3 部署(containerd+centos 7.9)

    一.系统环境初始化,所有节点都要做   服务器清单   10.12.121.190 k8s-01-master   10.12.121.191 k8s-01-node   根据实际更改初始化化hosts解析以及hostname ,改完以后直接分别在master,node节点上执行执行   二.初始化集群 只在k8s--01-master操作 1.配置容器运行时 crictl config runtime-endpoint un

    2024年02月02日
    浏览(27)
  • centos安装部署Kubernetes(k8s)步骤使用kubeadm方式

    机器地址: 192.168.0.35 k8s-master 192.168.0.39 k8s-node1 192.168.0.116 k8s-node2 修改每台机器的名字 关闭防火墙和selinux 临时关闭selinux: 永久关闭: 修改selinux为disabled或者permissive 重启生效 配置本地解析 确保每个节点MAC地址和 product_uuid 的唯一性 同步时间 如果各机器上时间都没有问题

    2024年02月06日
    浏览(46)
  • centos7搭建k8s环境并部署springboot项目

    之前看了很多文章,都是部署后一直报错,百度解决后下次又忘了,这次决定把从头到尾的过程记录下来方便下次再看 ,部署参考文章尚硅谷Kubernetes(k8s)视频学习笔记_尚硅谷k8s笔记_溯光旅者的博客-CSDN博客 1、先去下载vmware虚拟机安装,我安装的是这个版本VMware Workstati

    2024年02月03日
    浏览(34)
  • Centos7 安装部署 Kubernetes(k8s) 高可用集群

    宿主机系统 集群角色 服务器IP 主机名称 容器 centos7.6 master 192.168.2.150 ks-m1 docker centos7.6 master 192.168.2.151 ks-n1 docker centos7.6 master 192.168.2.152 ks-n2 docker 1.1 服务器初始化及网络配置 VMware安装Centos7并初始化网络使外部可以访问** 注意事项:请一定要看完上面这篇文章再执行下面的操

    2024年02月03日
    浏览(48)
  • CentOS7使用kubeadm部署k8s-1.28集群

    参考资料:生产环境 记录使用CentOS7.9进行k8s-1.28版本部署,运行时环境使用containerd,网络插件使用calic,集群搭建完成后。搭建NFS共享存储环境,测试运行pod并挂载使用持久卷。 主机名 **IP地址 ** 角色 基础组件 el7-linux-node-01 192.168.240.11 k8s-master kubeadm,kubelet,kubectl,containerd,nf

    2024年04月26日
    浏览(37)
  • 【大数据】kubernetes(k8s)calico跨节点网络不通的问题及排错过程

    进入节点 k8s-node27 的pod,ping k8s-node28 节点上的pod的ip都不通,k8s-node28 节点ping k8s-node27 也不通,但是k8s-node27,k8s-node28 之间他们各自节点上的pod的ip之间是可以相互ping通。 排查过程: 这种情况让我们想起了当时设置路由转发时候的配置,主机上有多个网卡,而k8s的calico网络

    2024年02月11日
    浏览(44)
  • m1使用VMware安装CentOS7并部署k8s高可用集群

    项目 版本 处理器 Apple M1 Max 操作系统 macOS Ventura 13.0 虚拟机应用 VMware Fusion 专业版 12.2.3 虚拟机操作系统 CentOS Linux 7 (AltArch) 容器运行时版本 docker 1.13.1 集群版本 Kubernetes 1.21.0 2.1 安装 VMware 安装包下载地址:VMware Fusion 专业版 12.2.3 应用许可证问题请自行解决 2.2 安装虚拟机 2.

    2024年02月02日
    浏览(40)
  • CentOS 7/8使用kubeadm部署kubernets(k8s)集群【附阿里云实验室】

    好消息好消息,阿里云全线降价,大量服务提供免费甚至永久的试用,赶紧来薅大厂羊毛吧,坐电梯即可直达! 送福利!阿里云热门产品免费领(含ECS),点击进入 :https://click.aliyun.com/m/1000370359/ 送福利!阿里云热门产品免费领(含ECS),点击进入 :https://click.aliyun.com/m/

    2023年04月22日
    浏览(33)
  • k8s学习(三十六)centos下离线部署kubernetes1.30(单主节点)

    主机ip 用途 192.168.115.120 K8s-normal-master 192.168.115.121 K8s-normal-node01 每台机器都执行 查看内核: 查看操作系统: 下载地址:https://elrepo.org/linux/kernel/el7/x86_64/RPMS/ 上传下载的内核安装包,执行命令: 执行命令: 修改/etc/default/grub GRUB_DEFAULT=saved 改为 GRUB_DEFAULT=0,保存退出 重新加

    2024年04月27日
    浏览(29)
  • Centos7安装部署k8s(kubernetes)最新v1.27.1版本超详细安装教程

    从零开始的k8s安装 硬件配置要求 cpu = 2核 硬盘 = 20G 内存 = 2G 节点数量建议为奇数(3, 5, 7, 9等)(1台好像也能搭,没试过) 以下命令出除特殊要求外,其余都建议在master主机执行 本教程配置如下 主机名 IP 配置 master 192.168.42.150 2核+2G+20G node1 192.168.42.151 2核+2G+20G node2 192.168.

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包