当前位置: 首页 > news >正文

【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集群 有两个镜像需要制作&#xff0c;一个是master节点&#xff0c;一个是node节点。 在master节点上成功部署了k8s的控制平面&#xff0c;在node节点上部署了worker节点的配置&#xff0c;不知道打包镜像重启之后集群的状态是什么样的。 确认集群在运行&#…...

electron 启动警告

1. 问题 当启动 electron 时&#xff0c;控制台警告 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 前两课比较基础&#xff0c;无笔记 第三课 阅卷智能体这一块&#xff0c;曾经做过一点和AI助教相关的内容&#xff0c;也是用了一个prompt去进行CoT&#xff0c;但是风格和课程中的不太相同&#xff0c;在下面附上我的prompt 你是一名资深教…...

使用Cilium/eBPF实现大规模云原生网络和安全

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 目录 抽象 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)回调函数

在写项目的时候遇见一个问题&#xff0c;现在的需求是主项目需要拿到子项目的结果来进行显示&#xff0c;那么如何集成呢&#xff0c;子项目里面有一个MainWindow类&#xff0c;类里 回调函数是一种通过函数指针将函数作为参数传递给另一个函数的编程技术。这种机制允许程序在特…...

Mysql--运维篇--主从复制和集群(主从复制I/O线程,SQL线程,二进制日志,中继日志,集群NDB)

一、主从复制 MySQL的主从复制&#xff08;Master-Slave Replication&#xff09;是一种数据冗余和高可用性的解决方案&#xff0c;它通过将一个或多个从服务器&#xff08;Slave&#xff09;与主服务器&#xff08;Master&#xff09;同步来实现。主从复制的基本原理是&#…...

设计模式 行为型 状态模式(State Pattern)与 常见技术框架应用 解析

状态模式&#xff08;State Pattern&#xff09;是一种行为型设计模式&#xff0c;它允许对象在内部状态改变时改变其行为&#xff0c;使得对象看起来好像修改了它的类。这种设计模式的核心思想是将对象的状态和行为封装成不同的状态类&#xff0c;通过状态对象的行为改变来避免…...

计算机网络 (38)TCP的拥塞控制

前言 TCP拥塞控制是传输控制协议&#xff08;Transmission Control Protocol&#xff0c;TCP&#xff09;避免网络拥塞的算法&#xff0c;是互联网上主要的一个拥塞控制措施。 一、目的 TCP拥塞控制的主要目的是防止过多的数据注入到网络中&#xff0c;使网络能够承受现有的网络…...

鸿蒙面试 2025-01-09

鸿蒙分布式理念&#xff1f;&#xff08;个人认为理解就好&#xff09; 鸿蒙操作系统的分布式理念主要体现在其独特的“流转”能力和相关的分布式操作上。在鸿蒙系统中&#xff0c;“流转”是指涉多端的分布式操作&#xff0c;它打破了设备之间的界限&#xff0c;实现了多设备…...

【关于for循环的几种写法】

关于for循环的几种写法 在 C 中&#xff0c;for(int i 0; i < n; i) 是一种常见的循环写法&#xff0c;用于遍历从 0 到 n-1 的索引。如果你希望简化这种写法&#xff0c;可以使用以下几种方法&#xff1a; 1. 使用范围 for 循环 如果你需要遍历一个容器&#xff08;如数…...

Apache和PHP:构建动态网站的黄金组合

在当今的互联网世界&#xff0c;网站已经成为了企业、个人和机构展示自己、与用户互动的重要平台。而在这些动态网站的背后&#xff0c;Apache和PHP无疑是最受开发者青睐的技术组合之一。这一组合提供了高效、灵活且可扩展的解决方案&#xff0c;帮助您快速搭建出强大的网站&am…...

免费开源的下载工具Xdown

软件介绍 Xdown是一款功能强大的开源免费下载工具&#xff0c;专为PC端用户设计&#xff0c;支持多种协议和下载方式。 1、多线程下载 Xdown支持最高128线程的并发下载&#xff0c;能够将文件分割成多个部分同时下载&#xff0c;从而显著提升下载速度。 2、多种协议支持 该…...

Three.js 数学工具:构建精确3D世界的基石

文章目录 前言一、向量&#xff08;Vectors&#xff09;二、矩阵&#xff08;Matrices&#xff09;三、四元数&#xff08;Quaternions&#xff09;四、欧拉角&#xff08;Euler Angles&#xff09;五、颜色&#xff08;Colors&#xff09;六、几何体生成器&#xff08;Geometr…...

如何明智地提问

如何明智地提问的重要总结&#xff0c;让我为主要观点添加一些具体的实践建议&#xff1a; 提问前的准备工作 尝试在 Google、Stack Overflow 等平台搜索相似问题阅读相关文档和错误日志尝试自己调试和排查问题记录下已尝试过的解决方案 选择合适的提问平台 Stack Overflow…...

Microsoft Sql Server 2019 函数理解

说到函数&#xff0c;首先和存储过程作个比较吧&#xff0c;两者有一个共同点都是预编译优化后存储在磁盘中&#xff0c;所以效率 要比T-SQL高一点点。值得注意的是&#xff0c;存储过程可以创建或访问临时表&#xff0c;而函数不可以&#xff1b; 同时函数不可 以修改表中的数…...

自定义日期转换配置

文章目录 1.日期问题出现原因以及解决方案概述1.图示2.三种解决方案概述1.对于表单数据 application/x-www-form-urlencoded2.对于JSON数据1.使用JsonFormat注解2.自定义Jackson日期转换配置 2.解决方案common-web-starter1.目录2.BaseController.java 使用InitBinder解决表单数…...

“AI智能服务平台系统,让生活更便捷、更智能

大家好&#xff0c;我是资深产品经理老王&#xff0c;今天咱们来聊聊一个让生活变得越来越方便的高科技产品——AI智能服务平台系统。这个系统可是现代服务业的一颗璀璨明珠&#xff0c;它究竟有哪些魅力呢&#xff1f;下面我就跟大家伙儿闲聊一下。 一、什么是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天创作之路:回顾与展望

大家好呀&#xff01;今天来和你们分享一下我的创作历程&#x1f601;。 一、机缘 最开始创作呢&#xff0c;是因为在学习 C 的 STL 时&#xff0c;像 string、list、vector 这些模板可把我折腾得够呛&#xff0c;但也让我学到了超多东西&#xff01;我就想&#xff0c;要是把我…...

内核配置参数整理

#参考网页 linux5.2 &#xff1c;.config&#xff1e;文件注释 详细解释 CONFIG_ARMy&#xff1a;启用ARM架构支持&#xff0c;这是ARM处理器专用的内核配置选项。 CONFIG_ARM_HAS_SG_CHAINy&#xff1a;启用对散列表&#xff08;scatter-gather&#xff09;链的支持&#xf…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...