Kubernetes(七)修改 pod 网络(flannel 插件)

news2025/5/31 18:54:08

一、 提示

需要重启服务器
操作之前备份 k8s 中所有资源的 yaml 文件
如下是备份脚本,仅供参考

# 创建备份目录
test -d $3 || mkdir $3
# $1 命名空间
# $2 资源名称: sts  deploy   configMap  svc 等
# $3 资源备份存放的目录名称

for app in  `kubectl -n $1 get $2 |awk '/spms/ {print $1}'`
do
    kubectl -n $1 get $2 $app -o yaml > $3/$app.yml
done

sed -i '/resourceVersion/ d' $3/*
sed -i '/uid/ d' $3/*
sed -i '/last-applied-configuration:/,+1 d' $3/*
sed -i '/creationTimestamp/ d' $3/*
sed -i '/generation/ d' $3/*
sed -ri '/^status:/,$ d' $3/*

if [ "$2" == "service" ];then
    sed -i '/clusterIP:/ d' $3/*
    sed -i '/clusterIPs:/,+1 d' $3/*
fi

二、修改设置

1 修改 flannel 环境配置文件

集群中每个节点都要修改

vi /run/flannel/subnet.env
FLANNEL_NETWORK=10.244.0.0/16  # 修改
FLANNEL_SUBNET=10.244.2.1/24   # 修改
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true

2 修改 k8s 集群中 flannel 的 configMap 和 kube-proxy configMap

flannel

kubectl -n kube-system edit configMap kube-flannel-cfg

修改如下内容

  net-conf.json: |
    {
      "Network": "10.244.0.0/16",  # 这里修改成你想要的网络
      "Backend": {
        "Type": "vxlan"
      }
    }

kube-proxy

kubectl -n kube-system edit configmaps kube-proxy

在这里插入图片描述

3 删除并重建 flannel 和 kube-proxy 的 pod

flannel 和 kube-proxy 是 k8s 中的守护进程,删除 pod 会自动创建,因此这里只需要删除现有的 pod 即可。

for pd in `kubectl -n kube-system get pod  |grep -P 'flannel-ds|kube-proxy'|awk '{print $1}'`
do
   kubectl -n kube-system delete po $pd
done

4 修改集群 contrlor 资源文件

在所有 master 节点修改

修改文件 /etc/kubernetes/manifests/kube-controller-manager.yaml

spec:
  containers:
  - command:
    ...
    # 修改这个
    - --cluster-cidr=10.244.0.0/16
    ...

修改完成后,集群会自动更新此 Pod

5 备份 集群所有节点的 yaml 文件,并修改里面的 podCIDR 和 podCIDRs

备份

 kubectl get nodes node_name -o yaml > node_name.yml

修改这里

...
spec:
  podCIDR: 10.244.2.0/24
  podCIDRs:
  - 10.244.2.0/24
...

删除并重新加入节点

kubectl delete nodes  node_name
kubectl apply -f node_name.yml

6 删除接口

ifconfig cni0 down    # 关闭接口
ip link delete cni0     # 删除配置

ifconfig flannel.1 down  
ip link delete flannel.1

7 重启服务

systemctl restart docker kubelet

8 验证

检查是否出现了 新的 flannel.1 和 cni0 接口

ip -4 a

如果没有出现,重启服务器

验证 iptables 规则, 在 FORWARD 连中应该出现新的网络的转发规则

iptables -nL

在这里插入图片描述

验证 nat 表的 POSTROUTING 链和 KUBE-SERVICES 链

iptables -nL -t nat --line-number |grep POSTROUTING -A 10

在这里插入图片描述
如果还存在原来 pod 子网的条目用如下命令删除

iptables -t nat  -D POSTROUTING 5

5 是 规则条目号,如下图中所示
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/943049.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文心一言接入Promptulate,开发复杂LLM应用程序

简介 最近在尝试将文心一言的LLM能力接入Promptulate,故写了一篇博客记录一下,Promptulate 是 Promptulate AI 旗下的大语言模型自动化与应用开发框架,旨在帮助开发者通过更小的成本构建行业级的大模型应用,其包含了LLM领域应用层…

k8s的交付与部署案例操作

一 k8s的概念 1.1 k8s k8s是一个轻量级的,用于管理容器化应用和服务的平台。通过k8s能够进行应用的自动化部署和扩容缩容。 1.2 k8s核心部分 1.prod: 最小的部署单元;一组容器的集合;共享网络;生命周期是短暂的; …

反相器及反相器链的设计

静态特性 1 .开关阈值 2 .噪声容限 3 .稳定性 动态特性 1 .计算电容值 2. 时延分析 3. 从设计角度考虑时延 功耗、能量和能量时延 1.动态功耗 2.静态功耗

Druid监控平台与SpringBoot的actuator、Admin

文章目录 前言Druid监控平台的基础使用actuator基础使用Admin可视化图形监控 前言 Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控,Druid 可以很好的监控 DB 池连接和 SQL 的执行情况…

暑期实习总结(焊点数据管理软件开发):Python操作MySQL数据库、Django搭建前端网页、以及Excel中数据与MySQL数据库的互转

暑期实习总结(焊点数据管理软件开发):Python操作MySQL数据库、Django搭建前端网页、以及Excel中数据与MySQL数据库的互转 ​ 这一周是我在企业实习的最后一周,在企业做的项目已基本完成。这篇博客的目的也是总结一些项目中的一些小问题&…

经典文献阅读之--MobileSAM(比FastSAM更快的SAM框架)

0. 简介 自从MetaAI提出的能够“分割一切”的视觉基础大模型SAM提供了很好的分割效果,为探索视觉大模型提供了一个新的方向。虽然SAM的效果很好,但由于SAM的backbone使用了ViT,导致推理时显存的占用较多,推理速度偏慢&#xff0c…

大数据学习:hive的DQL和DML操作

hive的DQL和DML操作 1. Hive的分桶表 1.1 分桶表原理 分桶是相对分区进行更细粒度的划分 Hive表或分区表可进一步的分桶 分桶将整个数据内容按照某列取hash值,对桶的个数取模的方式决定该条记录存放在哪个桶当中;具有相同hash值的数据进入到同一个文件…

4、监测数据采集物联网应用开发步骤(4)

监测数据采集物联网应用开发步骤(3) 日志或文本文件读写开发 创建全局变量配置代码com.zxy.common.Com_Para.py全局变量根据需要后续补充。 #! python3 # -*- coding: utf-8 -Created on 2023年08月28日 author: zxyong 13738196011#监测数据采集物联网应用--全局变量 impor…

文件名翻译不求人:一键批量翻译,你就是改名专家

文件名翻译不求人:一键批量翻译,你就是改名专家 在日常生活和工作中,我们常常需要处理各种文件,包括文档、图片、视频等。有时候,我们需要对这些文件进行重命名,以便更好地管理和查找。但是,当…

微服务之Nacos

1 版本说明 官网地址: https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 1.1 2021.x 分支 适配 SpringBoot 2.4, Spring Cloud 2021.x 版本及以上的Spring Cloud Alibaba 版本如下表(最新版本用*标记&am…

Android实现监听APP启动、前台和后台

Android 实时监听APP进入前台或后台 前言 在我们开发的过程中,经常会遇到需要我们判断app进入后台,或者切换到前台的情况。比如我们想判断app切换到前台时,显示一个解锁界面,要求用户输入解锁密码才能继续进行操作;我…

pdf怎么转换成jpg图片?这几个方法值得一试

pdf怎么转换成jpg图片?PDF格式的文件在我们的日常生活和工作中十分常见,但有时候我们需要将PDF文件转换成图片格式,以便于在网页上进行展示或者存放到手机相册中。那么,PDF怎么转换成JPG图片呢?下面介绍几种方法。 第一…

Java【手撕滑动窗口】LeetCode 209. “长度最小子数组“, 图文详解思路分析 + 代码

文章目录 前言一、长度最小子数组1, 题目2, 思路分析3, 代码 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 📗 Java数据结构: 顺序表, 链…

达梦数据配置兼容

修改数据库实例的dm.ini配置文件COMPATIBLE_MODE的值,0:none, 1:SQL92, 2:Oracle, 3:MS SQL Server, 4:MySQL, 5:DM6, 6:Teradata, 7:PG COMPATIBLE_MODE 4 #Server compatible mode, 0:none, 1:SQL92, 2:Oracle, 3:MS SQL Server,…

如何设置让软件开机自启动

电脑重置,一些软件能正常使用,但是系统开机自启动选项中并没有它,这就很郁闷 有些极简软件没有直接设置开机自启,需要手动设置,所以我们就需要手动去设置一下它。 1、如果你在任务管理器里能找到它,也可以…

怎么把m4a转换成mp3?音频格式转换方法分享

M4A格式音频文件通常比MP3格式音频文件具有更高的音质,因为它使用了先进的编码技术。但是,M4A文件在某些设备上可能无法播放。将M4A文件转换为MP3格式可以增加音频文件的兼容性,并使其可以在更广泛的设备上播放,如移动设备和汽车音…

解决 git clone 时出现Failed to connect to 127.0.0.1 port 1573问题

今天去拉一个仓库代码,往常都是一下就拉下来了,今天却报错,报错信息如下: 原因:这种情况是因为代理在git中配置的,但是本身环境就有SSL协议了,所以取消git的https或者http代理即可 方法如下&…

文件夹无法删除?简单3招,轻松解决问题!

“我电脑里有一个文件夹占用了很大的内存,我想将它删除来释放一些内存,但是根本没法删除,为什么会这样呢?文件夹无法删除应该怎么办呢?” 在日常电脑使用中,有时候会遇到文件夹无法删除的情况,这…

iTween安装

1. 找到Package Manager面板,Packages选择MyAssets-右上角搜索iTween-找到后点DownLoad-点Import 导入 2. 导入后Assets面板结构如下图。 3. 编译器中输入iTween有提示,安装成功。