【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)链的支持…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
