kubeneters安装之cni网络插件安装kube-ovn

本文分享了Kubernetes环境中配置CNI插件的经验,特别是针对基于ovs的Kube-OVN插件的安装过程及遇到的问题解决办法。同时提供了成功安装的脚本,并介绍了如何解决安装k8s 1.19.2时遇到的kube-control、kubescheduler unhealthy等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       初始化安装好kubeneters,出现cni未配置,在/opt文件夹有cni文件夹,但/etc/cni没有。说明cni插件未安装。因为本地确实没有安装CNI插件,目前网上看到有个基于ovs的网络插件,地址https://github.com/alauda/kube-ovn。安装这个插件时候也遇到不少坑。开始是用的最新版本的一键安装去操作,结果出现ovn-pinger pod无法启动。后来下载了release版本,但是也出现pod启动失败。所以这些最好进入kube-ovn开源交流群,相对这块文档稳定性没有这么好,只有进入群里去沟通咨询,而且回复效率也快。这里附上一个可以完整安装成功的1.4版本的脚本。

      在安装k8s 1.19.2时候使用kubectl get cs查看状态,出现kube control、kube scheduler unhealthy。这个修改/etc/kubeneters/mainfest文件夹下的配置文件,把--prot=0去掉,重启kubelet服务就可以了。

      下载地址:https://download.csdn.net/download/learner198461/12887693

      后续在Kube-ovn使用上的问题继续为大家奉上。

### 关于 Kube-OVN `br-init` 配置及其初始化问题 #### 什么是 `br-init` 在 Kube-OVN 中,`br-init` 是指桥接网络接口的初始化过程。这一过程通常涉及创建 Open vSwitch (OVS) 桥梁并将其绑定到 Kubernetes 节点上。此桥梁用于支持 Pod 和 Service 的网络通信。 Kube-OVN 使用 OVS 来实现其 CNI 功能,因此正确配置和初始化 OVS 桥梁对于整个集群的正常运行至关重要[^1]。 --- #### 如何配置 `br-init` Kube-OVN 提供了一个默认的 OVS 桥名称 `ovn-k8s-br`,该名称可以通过修改配置文件中的参数来自定义。以下是与 `br-init` 相关的关键配置项: - **bridgeName**: 定义使用的 OVS 桥梁名称,默认为 `ovn-k8s-br`。 - **hybridOverlayBridge**: 如果启用了混合覆盖模式,则需要额外指定一个专用桥梁。 - **nodeNicCidr**: 设置节点 NIC CIDR 地址范围,这会影响如何分配 IP 给 Pods。 这些配置可以在 Kube-OVN 的 CRD 或者 YAML 文件中找到,并通过自定义资源对象进一步调整[^4]。 示例配置片段如下所示: ```yaml apiVersion: kubeovn.io/v1 kind: Network metadata: name: default spec: bridge: ovn-k8s-br # 自定义桥梁名 cidrBlock: 10.16.0.0/16 # 子网范围 ``` 如果遇到初始化失败的情况,可以尝试手动验证以下几点: 1. 确认目标节点是否存在对应的物理网卡设备; 2. 检查是否有冲突的现有 OVS 桥梁; 3. 查看日志输出以定位具体错误原因。 执行调试命令时可参考以下方法: ```bash # 显示当前系统的 OVS 桥梁状态 ovs-vsctl show # 手动添加测试用桥梁 sudo ovs-vsctl add-br test-br ``` 上述操作有助于排查潜在的基础架构层面问题[^2]。 --- #### 常见初始化问题及解决方案 ##### 1. 桥梁未成功创建 可能的原因包括权限不足或者已有同名桥梁存在。建议先清理残留数据再重试部署流程。 修复步骤: ```bash kubectl delete -f https://raw.githubusercontent.com/kubeovn/kube-ovn/master/dist/yaml/cleanup.yaml kubectl apply -f https://raw.githubusercontent.com/kubeovn/kube-ovn/master/dist/yaml/kube-ovn.yaml ``` ##### 2. 日志显示无法访问特定端口 某些安全组策略可能会阻止必要的流量进入节点。需确认防火墙设置允许相关服务端口开放(如 Geneve 协议所需端口)。 ##### 3. 控制器逻辑异常 当控制器未能正确定位到新加入节点上的硬件信息时也可能引发此类状况。此时应深入分析 controller 的行为轨迹。 查阅源码得知,实际调用路径是从 `main.go` 开始逐步传递控制权至各个模块直至完成最终处理[^3]。 --- #### 总结 针对 Kube-OVN 的 `br-init` 初始阶段所面临的技术挑战,合理规划基础资源配置以及遵循官方文档指导能够有效降低复杂度。同时借助社区反馈不断优化实践方案亦是非常重要的环节之一。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值