K8s集群扩展与问题解决:从3台到5台的实战记录

需积分: 5 0 下载量 107 浏览量 更新于2024-08-03 收藏 225KB TXT 举报
"本文档记录了k8s实际操作过程中的关键步骤、遇到的问题及其解决方案,特别适合正在学习或部署k8s的读者。内容涵盖了网络配置、节点状态异常及CNI插件的安装等常见问题。" 在kubernetes (k8s) 集群的管理中,网络配置是至关重要的部分。例如,IPADDR=10.16.25.11 和 GATEWAY=10.16.24.1 分别代表了一个节点的IP地址和默认网关,这些配置用于确保节点间的通信。MAC地址如n1100:50:56:35:3A:BB等,是网络接口控制器的物理地址,用于网络设备的身份识别。 在k8s集群中,有时会遇到文件系统只读的问题,例如"readonlyfile"。这可能是由于系统的安全策略或者磁盘故障导致的。解决方法通常包括使用`mount -o remount,rw /`命令重新挂载文件系统为读写模式,或者检查磁盘状态和系统日志以确定根本原因。 `sudo journalctl -u kubelet -f` 是一个用于跟踪`kubelet`服务日志的命令,这对于诊断k8s节点的问题非常有用。`describe pod/coredns-7ff77c879f-hmc4vk`则是查看CoreDNS Pod的详细信息,CoreDNS是k8s的默认DNS服务,用于集群内部的服务发现。 在扩展k8s集群时,可能会遇到节点状态不正常的情况,如NotReady。这可能是因为CNI(Container Network Interface)插件未正确配置。如标签所示,这里提到了`flannel`,它是k8s常用的网络插件之一,负责为Pod提供网络连接。当出现"failed to find plugin "flannel" in path [/opt/cni/bin]"的错误时,意味着系统找不到flannel插件。解决这个问题需要下载并安装CNI插件,如v0.8.6版本,将其解压并复制flannel到 `/opt/cni/bin/` 目录下。 在集群扩展过程中,确保所有节点都能正确加入并运行是必要的。当新节点状态变为Ready,表明它已经成功集成到集群,并且能够承担工作负载。如果遇到其他问题,如Docker配置问题,可能需要清理Docker的配置目录,如`rm -rf /etc/docker`,然后重启相关服务以恢复功能。 k8s的实际操作涉及许多细节,包括网络配置、日志分析、问题排查和组件安装。对于初学者来说,了解并掌握这些基本技能是构建和管理高效k8s集群的关键。在遇到问题时,及时查阅文档、社区资源以及利用命令行工具进行诊断,是解决k8s问题的有效途径。