Kubernetes(K8S)的安装方式主要有以下三种:

Minikube安装
适用于个人开发者和小团队,通过Docker快速创建单节点集群,适合本地开发测试。 ‌
 

Kubeadm安装
官方推荐的集群部署工具,支持高可用配置,通过kubeadm init和kubeadm join命令简化多节点集群搭建。 ‌
 

二进制安装
手动下载并配置K8S组件(如kube-apiserver、kubelet等),需自行处理依赖和配置文件,适合需要深度定制的场景。 ‌
 

‌补充说明‌

Minikube和Kubeadm安装的版本需注意兼容性,例如K8S 1.24后默认使用CRI-O而非Docker,需额外配置。 ‌
二进制安装需具备较强系统配置能力,建议仅在生产环境或需要深度定制时使用。 ‌

问题:用Kubeadm方式安装完k8s之后,发现ssh连不上了,检查了ssh配置相关,以及sshd状态都没有问题,之后ping了下发现ping不通。之前怀疑过网络插件calico的问题,尝试了彻底删除网络插件calico,又重新部署了calico也不行。重新初始化master节点等等也全都不好使。

解决方案:是因为kube-ipvs0 这个虚拟网路接口自动生成的一个ip中跟VMnet8的IP地址冲突了,导致所有虚机都ping不通了,也就无法ssh连接了。

在 Kubernetes 中,kube-ipvs0 是 kube-proxy 在 IPVS 模式下创建的虚拟网络接口,用于承载 Service 的 ClusterIP 流量转发。其设计目的是通过内核态的 IPVS 模块实现高效负载均衡,避免 iptables 规则过多导致的性能瓶颈。

  • kube-ipvs0 是 Kubernetes IPVS 模式的核心组件,用于绑定所有 Service 的 ClusterIP。
  • 多个 IP 出现在该接口上是因为每个 Service 都会分配一个唯一的 ClusterIP,并自动绑定到 kube-ipvs0
  • 这些 IP 的分配和管理完全由 Kubernetes 自动完成,用户无需手动配置。
  • 通过 ipvsadm -Ln 和 kubectl get svc 可验证 IP 绑定和转发规则是否正常。

kube-ipvs0 这个虚拟网路接口自动生成的一个ip中跟VMnet8的IP地址冲突了,自动生成了一个192.168.231.1的地址,而现在VMnet8的地址刚好也是用的这个,之后把VMnet8的地址改为静态配置192.168.231.3,问题得以解决。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐