【13】制作镜像以及重启实例
制作镜像
k8s集群
有两个镜像需要制作,一个是master节点,一个是node节点。
在master节点上成功部署了k8s的控制平面,在node节点上部署了worker节点的配置,不知道打包镜像重启之后集群的状态是什么样的。
确认集群在运行:
root@master:~/iperf# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready control-plane 24h v1.28.2
node2 Ready work 23h v1.28.2
root@master:~/iperf# kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
example-hotrod example-hotrod-77df45ccfb-lm748 2/2 Running 2 (137m ago) 3h12m
kube-system calico-kube-controllers-658d97c59c-wpxnc 1/1 Running 0 18h
kube-system calico-node-nrlph 1/1 Running 0 18h
kube-system calico-node-qz8pz 1/1 Running 1 (137m ago) 18h
kube-system coredns-6554b8b87f-4qm9x 1/1 Running 0 24h
kube-system coredns-6554b8b87f-7hbjs 1/1 Running 0 24h
kube-system etcd-master 1/1 Running 0 24h
kube-system kube-apiserver-master 1/1 Running 0 24h
kube-system kube-controller-manager-master 1/1 Running 0 24h
kube-system kube-proxy-8jlr5 1/1 Running 1 (137m ago) 23h
kube-system kube-proxy-vt2xm 1/1 Running 0 24h
kube-system kube-scheduler-master 1/1 Running 0 24h
root@master:~/iperf# kubectl get svc --all-namespaces
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 24h
example-hotrod example-hotrod NodePort 10.110.11.37 <none> 8080:30188/TCP 17h
example-hotrod jaeger NodePort 10.111.85.38 <none> 6831:32549/UDP,16686:30629/TCP 17h
kube-system kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 24h
删除当前的数据:
进入jeager目录,将此次运行生成的数据删掉
root@master:~/jaeger/data_collect# lscollect_trace_json.py generated_requests.json gen_trace.py trace_collector.log traces traces.tar trace_to_csv.py
root@master:~/jaeger/data_collect# ls
collect_trace_json.py generated_requests.json gen_trace.py trace_collector.log traces traces.tar trace_to_csv.py
root@master:~/jaeger/data_collect# rm generated_requests.json
root@master:~/jaeger/data_collect# rm -r traces
root@master:~/jaeger/data_collect# rm traces.tar
performance
进入根目录下的performance目录,删除相关的csv文件。
进入运行数据存储的目录/mnt/data1,删除里面的数据。
iperf
进入iperf文件夹,删掉iperf_result.csv文件。
随后查看实例是否挂载了云盘。发现只有系统盘。

制作镜像
选中实例,然后创建自定义镜像。名称为k8s_master_20250112。

另一个的名称为k8s_node_20250112。

验证镜像
为了验证我们的镜像是否成功,也为了熟悉下次创建集群的时候应该重做哪些配置,需要解决哪些问题,用刚才创建的镜像新建两个实例。
用上面的两个镜像重新创建实例之后,进到master节点,此时发现还是原来的集群在运行,可能是镜像保存了之前的状态。所以需要删掉原来的k8s配置,重新初始化。在node和master节点同时执行下面的命令:
kubeadm reset -f
同时根据提示手动清理了下面的文件:
rm -rf /etc/cni/net.d
rm -rf ~/.kube
但是在重新初始化之前,还是要像第一遍配置k8s一样,进行配置的检查.
1.进入/etc/modules-load.d文件夹,执行./ipvs.conf,重新加载ipvs模块。
cd /etc/modules-load.d
./ipvs.conf
lsmod | grep ip_vs
显示结果如下:
root@iZuf66eyuxf6qiujl2gvxrZ:/etc/modules-load.d# ls
ipvs.conf modules.conf
root@iZuf66eyuxf6qiujl2gvxrZ:/etc/modules-load.d# ./ipvs.conf
root@iZuf66eyuxf6qiujl2gvxrZ:/etc/modules-load.d# lsmod | grep ip_vs
ip_vs_ftp 16384 0
ip_vs_sed 16384 0
ip_vs_nq 16384 0
ip_vs_sh 16384 0
ip_vs_dh 16384 0
ip_vs_lblcr 16384 0
ip_vs_lblc 16384 0
ip_vs_wrr 16384 0
ip_vs_rr 16384 0
ip_vs_wlc 16384 0
ip_vs_lc 16384 0
ip_vs 176128 22 ip_vs_wlc,ip_vs_rr,ip_vs_dh,ip_vs_lblcr,ip_vs_sh,ip_vs_nq,ip_vs_lblc,ip_vs_wrr,ip_vs_lc,ip_vs_sed,ip_vs_ftp
nf_nat 49152 3 nft_chain_nat,xt_MASQUERADE,ip_vs_ftp
nf_conntrack 172032 4 xt_conntrack,nf_nat,xt_MASQUERADE,ip_vs
nf_defrag_ipv6 24576 2 nf_conntrack,ip_vs
libcrc32c 16384 6 nf_conntrack,nf_nat,btrfs,nf_tables,raid456,ip_vs
2.修改内核参数
modprobe br_netfilter
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
3.设置容器运行时
crictl config runtime-endpoint unix:///run/containerd/containerd.sock
4.拉取镜像
# 使用 ctr 命令拉取所需镜像
ctr -n k8s.io images pull registry.aliyuncs.com/google_containers/kube-apiserver:v1.28.2
ctr -n k8s.io images pull registry.aliyuncs.com/google_containers/kube-controller-manager:v1.28.2
ctr -n k8s.io images pull registry.aliyuncs.com/google_containers/kube-scheduler:v1.28.2
ctr -n k8s.io images pull registry.aliyuncs.com/google_containers/kube-proxy:v1.28.2
ctr -n k8s.io images pull registry.aliyuncs.com/google_containers/pause:3.9
ctr -n k8s.io images pull registry.aliyuncs.com/google_containers/etcd:3.5.7-0
ctr -n k8s.io images pull registry.aliyuncs.com/google_containers/coredns:v1.10.1
5.修改master节点上kubeadm.yaml的信息。控制节点ip和控制节点名称。
6.重启docker和containerd
systemctl restart docker
systemctl restart containerd
7.执行下面命令
kubeadm init --config=kubeadm.yaml --ignore-preflight-errors=SystemVerification
初始化成功。

8.配置kubectl
.kube 是 kubectl 默认查找配置的目录,admin.conf 是 kubeadm 在初始化集群时创建的管理员配置文件,它包含了访问集群所需的所有信息:API server 的地址和端口,集群的证书信息,用户认证信息(证书、token等),将admin.conf放置到.kube里面。
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config # 赋予正确权限
export KUBECONFIG=/etc/kubernetes/admin.conf
export KUBECONFIG=/etc/kubernetes/admin.conf 是告诉kubectl去哪里找配置文件。
随后查看kubectl get nodes,发现控制平面已经初始化成功,有些pod也开始运行了。

9.将kubeadm join命令粘贴到node节点。
10.kubectl apply -f calico.yaml,可以看到集群开始运行。
运行jeager
后来发现要改的地方实在太多了,还不如保持master节点不变,一直换node节点。
至少镜像是成功的。
相关文章:
【13】制作镜像以及重启实例
制作镜像 k8s集群 有两个镜像需要制作,一个是master节点,一个是node节点。 在master节点上成功部署了k8s的控制平面,在node节点上部署了worker节点的配置,不知道打包镜像重启之后集群的状态是什么样的。 确认集群在运行&#…...
electron 启动警告
1. 问题 当启动 electron 时,控制台警告 Electron Security Warning (Insecure Content-Security-Policy) This renderer process has either no Content Security 2. 解决方法 在主进程文件 main.js 中添加如下内容 process.env["ELECTRON_DISABLE_SECURI…...
wow-agent 学习笔记
wow-agent-课程详情 | Datawhale 前两课比较基础,无笔记 第三课 阅卷智能体这一块,曾经做过一点和AI助教相关的内容,也是用了一个prompt去进行CoT,但是风格和课程中的不太相同,在下面附上我的prompt 你是一名资深教…...
使用Cilium/eBPF实现大规模云原生网络和安全
大家读完觉得有帮助记得关注和点赞!!! 目录 抽象 1 Trip.com 云基础设施 1.1 分层架构 1.2 更多细节 2 纤毛在 Trip.com 2.1 推出时间表 2.2 自定义 2.3 优化和调整 2.3.1 解耦安装 2.3.2 避免重试/重启风暴 2.3.3 稳定性优先 2…...
“深入浅出”系列之C++:(4)回调函数
在写项目的时候遇见一个问题,现在的需求是主项目需要拿到子项目的结果来进行显示,那么如何集成呢,子项目里面有一个MainWindow类,类里 回调函数是一种通过函数指针将函数作为参数传递给另一个函数的编程技术。这种机制允许程序在特…...
Mysql--运维篇--主从复制和集群(主从复制I/O线程,SQL线程,二进制日志,中继日志,集群NDB)
一、主从复制 MySQL的主从复制(Master-Slave Replication)是一种数据冗余和高可用性的解决方案,它通过将一个或多个从服务器(Slave)与主服务器(Master)同步来实现。主从复制的基本原理是&#…...
设计模式 行为型 状态模式(State Pattern)与 常见技术框架应用 解析
状态模式(State Pattern)是一种行为型设计模式,它允许对象在内部状态改变时改变其行为,使得对象看起来好像修改了它的类。这种设计模式的核心思想是将对象的状态和行为封装成不同的状态类,通过状态对象的行为改变来避免…...
计算机网络 (38)TCP的拥塞控制
前言 TCP拥塞控制是传输控制协议(Transmission Control Protocol,TCP)避免网络拥塞的算法,是互联网上主要的一个拥塞控制措施。 一、目的 TCP拥塞控制的主要目的是防止过多的数据注入到网络中,使网络能够承受现有的网络…...
鸿蒙面试 2025-01-09
鸿蒙分布式理念?(个人认为理解就好) 鸿蒙操作系统的分布式理念主要体现在其独特的“流转”能力和相关的分布式操作上。在鸿蒙系统中,“流转”是指涉多端的分布式操作,它打破了设备之间的界限,实现了多设备…...
【关于for循环的几种写法】
关于for循环的几种写法 在 C 中,for(int i 0; i < n; i) 是一种常见的循环写法,用于遍历从 0 到 n-1 的索引。如果你希望简化这种写法,可以使用以下几种方法: 1. 使用范围 for 循环 如果你需要遍历一个容器(如数…...
Apache和PHP:构建动态网站的黄金组合
在当今的互联网世界,网站已经成为了企业、个人和机构展示自己、与用户互动的重要平台。而在这些动态网站的背后,Apache和PHP无疑是最受开发者青睐的技术组合之一。这一组合提供了高效、灵活且可扩展的解决方案,帮助您快速搭建出强大的网站&am…...
免费开源的下载工具Xdown
软件介绍 Xdown是一款功能强大的开源免费下载工具,专为PC端用户设计,支持多种协议和下载方式。 1、多线程下载 Xdown支持最高128线程的并发下载,能够将文件分割成多个部分同时下载,从而显著提升下载速度。 2、多种协议支持 该…...
Three.js 数学工具:构建精确3D世界的基石
文章目录 前言一、向量(Vectors)二、矩阵(Matrices)三、四元数(Quaternions)四、欧拉角(Euler Angles)五、颜色(Colors)六、几何体生成器(Geometr…...
如何明智地提问
如何明智地提问的重要总结,让我为主要观点添加一些具体的实践建议: 提问前的准备工作 尝试在 Google、Stack Overflow 等平台搜索相似问题阅读相关文档和错误日志尝试自己调试和排查问题记录下已尝试过的解决方案 选择合适的提问平台 Stack Overflow…...
Microsoft Sql Server 2019 函数理解
说到函数,首先和存储过程作个比较吧,两者有一个共同点都是预编译优化后存储在磁盘中,所以效率 要比T-SQL高一点点。值得注意的是,存储过程可以创建或访问临时表,而函数不可以; 同时函数不可 以修改表中的数…...
自定义日期转换配置
文章目录 1.日期问题出现原因以及解决方案概述1.图示2.三种解决方案概述1.对于表单数据 application/x-www-form-urlencoded2.对于JSON数据1.使用JsonFormat注解2.自定义Jackson日期转换配置 2.解决方案common-web-starter1.目录2.BaseController.java 使用InitBinder解决表单数…...
“AI智能服务平台系统,让生活更便捷、更智能
大家好,我是资深产品经理老王,今天咱们来聊聊一个让生活变得越来越方便的高科技产品——AI智能服务平台系统。这个系统可是现代服务业的一颗璀璨明珠,它究竟有哪些魅力呢?下面我就跟大家伙儿闲聊一下。 一、什么是AI智能服务平台系…...
SQL美化器优化
文章目录 1.目录2.代码 1.目录 2.代码 package com.sunxiansheng.mybatis.plus.inteceptor;import org.apache.ibatis.executor.statement.StatementHandler; import org.apache.ibatis.mapping.*; import org.apache.ibatis.plugin.*; import org.apache.ibatis.reflection.*…...
我的128天创作之路:回顾与展望
大家好呀!今天来和你们分享一下我的创作历程😁。 一、机缘 最开始创作呢,是因为在学习 C 的 STL 时,像 string、list、vector 这些模板可把我折腾得够呛,但也让我学到了超多东西!我就想,要是把我…...
内核配置参数整理
#参考网页 linux5.2 <.config>文件注释 详细解释 CONFIG_ARMy:启用ARM架构支持,这是ARM处理器专用的内核配置选项。 CONFIG_ARM_HAS_SG_CHAINy:启用对散列表(scatter-gather)链的支持…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
