k8s运维问题整理
1.宕机或异常重启导致etcd启动失败
服务器非正常关机(意外掉电、强制拔电)后 etcd 数据损坏。
查看apiserver日志发现出现报错Error while dialing dial tcp 127.0.0.1:2379: connect: connection refused,2379是etcd的端口,那么apiserver是由于etcd无法连接而启动不了
参考资料:https://blog.csdn.net/kali_yao/article/details/126810964
处理办法
查看etcd和api-server服务状态及日志
docker ps -a|grep etcd
docker ps -a|grep api-server#1.不知道路径可以查找etcd数据目录
find / -type d -name member
cd /var/lib/etcd/member
mv /var/lib/etcd/member /root/member.back
# 注:在故障节点执行,删除或者移走备份都可以#1.重启etcd
docker ps -a|grep etcd
docker rm -f etcd的ID # 所有节点执行
systemctl restart kubelet # 重启kubelet#2.查看
kubectl get pods
# 注:此时没有报错了
etcd数据备份与恢复
https://www.cnblogs.com/huanglingfa/p/13773397.html
# 首先需要安装etcdctl 命令行命令
yum install -y etcd# 备份
# 可 export ETCDCTL_API=3 设定临时环境变量,防止每次重复输入
# 注意 snapshot.db 是当前路径,可以指定路径
ETCDCTL_API=3 etcdctl \snapshot save snapshot.db \ --endpoints=https://127.0.0.1:2379 \--cacert=/etc/kubernetes/pki/etcd/ca.crt \--cert=/etc/kubernetes/pki/etcd/peer.crt \--key=/etc/kubernetes/pki/etcd/peer.key# 查看文件存储的信息
ETCDCTL_API=3 etcdctl snapshot status snapshot.db# kubeadm 部署恢复etcd数据库
# 1、先暂停kube-apiserver和etcd容器
mv /etc/kubernetes/manifests /etc/kubernetes/manifests.bak
mv /var/lib/etcd/ /var/lib/etcd.bak
# 2、恢复
ETCDCTL_API=3 etcdctl \snapshot restore snapshot.db \--data-dir=/var/lib/etcd
# 3、启动kube-apiserver和etcd容器
mv /etc/kubernetes/manifests.bak /etc/kubernetes/manifests
mv /var/lib/etcd.bak /var/lib/etcd/
# 环境准备,复制容器中的etcdctl命令出来
docker ps | grep etcd
docker cp baf3e1a53c2c:/usr/local/bin/etcdctl /usr/bin/# 创建定时任务 crontab -e
0 * * * * /opt/k8s_bak/backup_etcd.sh#!/bin/bash
BACKUP_FILE="snapshot.db"
BACKUP_PATH="/opt/k8s_bak/"
ETCDCTL_API=3 etcdctl snapshot save $BACKUP_PATH$BACKUP_FILE --endpoints=https://127.0.0.1:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/peer.crt --key=/etc/kubernetes/pki/etcd/peer.key
echo "etcd backup completed at $(date)"
2.安装k8s集群cilium一直重启
docker ps -a
# 查看已关闭容器日志
# 发现报错日志:nsenter: cannot open /hostproc/1/ns/cgroup: No such file or directory- hostPath:path: /proc # 也就是说是宿主机的这个目录中没有 /proc/1/ns/cgroup 这个文件。# 使用cilium,因linux内核版本过低无法启动,issues:https://github.com/rancher/rke2/issues/3571
3.K8S Flannel Pod 无法启动系列问题
“cni0” already has an IP address different from
# 可以使用 IP 命令直接修改
sudo ip address flush dev cni0
sudo ip address change 10.244.X.1/24 dev cni0# 或是删除 cni0 让 K8S 自动重建
sudo ip link set cni0 down
sudo ip link delete cni0
4.修改默认端口范围
vim /etc/kubernetes/manifests/kube-apiserver.yaml# 添加到如下位置就行了
- command:- kube-apiserver- --service-node-port-range=1-65535# 直接删除kube-apiserver pod 就行了 会自动重启
# 多master节点,需删除所有
# kubectl delete pod kube-apiserver-qa-01.df-emall.com -n kube-system
# kubectl delete pod kube-apiserver-qa-04.df-emall.com -n kube-system
5.k8s备份工具velero
Github:https://github.com/vmware-tanzu/velero
Velero(之前称为Heptio Ark)是一个备份和还原Kubernetes集群的流行工具,支持备份和还原Kubernetes对象、PV和Namespace等资源。Velero能够备份到本地存储和云存储(如AWS S3和Google Cloud Storage),还支持在不同集群之间迁移数据。
相关文章:
k8s运维问题整理
1.宕机或异常重启导致etcd启动失败 服务器非正常关机(意外掉电、强制拔电)后 etcd 数据损坏。 查看apiserver日志发现出现报错Error while dialing dial tcp 127.0.0.1:2379: connect: connection refused,2379是etcd的端口,那么a…...
设计模式(一)设计模式分类和六大设计原则
0.设计模式的分类 GoF提出的设计模式总共有23种,根据目的准则分类分为三大类: 创建型模式,共五种:单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰模式…...
git的学习与使用(笔记最全)
什么是git Git是一种分布式版本控制系统,每个开发者都可以在自己的机器上拥有一个完整的仓库 特点 断网也可以工作:没网的情况下,不会影响工作。对于未提交到远程库的代码可以随时撤销。可以查看历史提交记录,以及文件内容的修改记…...
windows环境下Grafana+loki+promtail入门级部署日志系统,收集Springboot(Slf4j+logback)项目日志
🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 往期热门专栏回顾 专栏…...
学习python时一些笔记
1、winr 命令提示符的快捷键 输入cmd进入终端 2、在终端运行桌面上的python文件 cd desktop(桌面) cd是进入该文件夹的意思。 cd .. 回到上一级 运行python时一定要找到文件的所在地 输入python进入,exit()退出%s字符串占位符%d数字占位符%f浮点数占位符input输…...
php基础学习之错误处理(其二)
在实际应用中,开发者当然不希望把自己开发的程序的错误暴露给用户,一方面会动摇客户对己方的信心,另一方面容易被攻击者抓住漏洞实施攻击,同时开发者本身需要及时收集错误,因此需要合理的设置错误显示与记录错误日志 一…...
云计算 2月28号 (linux的磁盘分区)
一 存储管理 主要知识点: 基本分区、逻辑卷LVM、EXT3/4/XFS文件系统、RAID 初识硬盘 机械 HDD 固态 SSD SSD的优势 SSD采用电子存储介质进行数据存储和读取的一种技术,拥有极高的存储性能,被认为是存储技术发展的未来新星。 与传统硬盘相比,…...
demo型xss初级靶场
一、环境 XSS Game - Ma Spaghet! | PwnFunction 二、开始闯关 第一关 看看代码 试一下直接写 明显进来了为什么不执行看看官方文档吧 你不执行那我就更改单标签去使用呗 ?somebody<img%20src1%20onerror"alert(1)"> 防御: innerText 第二关…...
【推荐算法系列十八】:DSSM 召回算法
参考 推荐系统中 DSSM 双塔模型汇总(二更) DSSM 和 YouTubeDNN 都是比较经典的 U2I 模型。 U2I 召回 U2I 召回也就是 User-to-Item 召回,它基于用户的历史行为以及用户的一些个人信息,对系统中的候选物品进行筛选,挑…...
CNAN知识图谱辅助推荐系统
CNAN知识图谱辅助推荐系统 文章介绍了一个基于KG的推荐系统模型,代码也已开源,可以看出主要follow了KGNN-LS 。算法流程大致如下: 1. 算法介绍 算法除去attention机制外,主要的思想在于:user由交互过的item来表示、i…...
大数据经典面试例题
程序员的金三银四求职宝典 随着春天的脚步渐近,对于许多程序员来说,一年中最繁忙、最重要的面试季节也随之而来。金三银四,即三月和四月,被广大程序员视为求职的黄金时期。在这两个月里,各大公司纷纷开放招聘…...
软考56-上午题-【数据库】-数据库设计步骤2
一、回顾:数据库设计的步骤 1、用户需求分析:手机用户需求,确定系统边界; 2、概念设计(概念结构设计):是抽象概念模型,较理想的是采用E-R方法。 3、逻辑设计:E-R图——…...
抖店入驻费用是多少?新手入驻都有哪些要求?2024费用明细!
我是电商珠珠 我做电商做了将近五年,做抖店做了三年多,期间还带着学员一起做店。 今天,就来给大家详细的讲一下在抖音开店,需要多少费用,最低需要投入多少。 1、营业执照200元左右 就拿个体店举例,在入…...
2024东南大学553复试真题及笔记
2023年真题知识点 引用指针 题目为 传递一个指针的引用做修改,输出指针指向的结果,但是指针被修改,结果就不一样了。 static 静态变量 类里面的静态成员变量,很简单的题目 for循环 看循环的内容输出字符串 try try catch捕…...
编程笔记 html5cssjs 096 JavaScript 前端开发(完结)
编程笔记 html5&css&js 096 JavaScript 前端开发 (完结) 一、前端开发二、范围三、价值四、在软件开发中地位总结 前端开发在软件开发生态系统中扮演着至关重要的角色。随着Web技术和移动互联网的发展,前端不再是简单的页面展示&…...
案例介绍:信息抽取技术在汽车销售与分销策略中的应用与实践
一、引言 在当今竞争激烈的汽车制造业中,成功的销售策略、市场营销和分销网络的构建是确保品牌立足市场的关键。作为一名经验丰富的项目经理,我曾领导一个专注于汽车销售和分销的项目,该项目深入挖掘市场数据,运用先进的信息抽取…...
几种常用的企业加密文件传输方式,最后一种更佳!
随着远程工作和云计算服务的广泛采用,企业必须实施有效的策略来保障敏感信息在传输过程中的安全性。本文将探讨企业在文件加密传输方面的几种常用策略,并重点介绍最后一种方式是如何利用其创新技术为企业提供数据传输的安全保障。 文件加密传输策略 企业…...
【全志D1-H 哪吒开发板】Debian系统安装调教和点灯指南
全志D1-H开发板【哪吒】使用Deabian系统入门 特别说明: 因为涉及到操作较多,博文可能会导致格式丢失 其中内容,会根据后续使用做优化调整 目录: 参考资料固件烧录启动调教点灯问题 〇、参考资料 官方资料 开发板-D1开发板【…...
Redis 8种基本数据类型及常用命令和数据类型的应用场景
小伙伴们好,欢迎关注,一起学习,无限进步 文章内容为学习的一些笔记及工作中遇到的一些问题 文章目录 Redis 五大数据类型keyStringListSetHashSorted Set 三种特殊类型Geospatial 地理位置HyperloglogBitmap Redis 五大数据类型 redis 官方网…...
JAVA内存模型与JVM内存结构
注意区分Java内存模型(Java Memory Model,简称JMM)与Jvm内存结构,前者与多线程相关,后者与JVM内部存储相关。本文会对两者进行简单介绍。 一、JAVA内存模型(JMM) 1. 概念 说来话长,由于在不同硬件厂商和…...
GPEN GPU利用率优化实践:批处理100张老照片的显存与耗时实测
GPEN GPU利用率优化实践:批处理100张老照片的显存与耗时实测 1. 引言:当AI修复老照片遇上效率瓶颈 最近在整理家里的老相册,想把那些模糊的童年照片都修复一下。用GPEN一张张处理虽然效果惊艳,但手动上传、等待、保存࿰…...
VRM Addon for Blender全流程指南:从安装到高级角色创作
VRM Addon for Blender全流程指南:从安装到高级角色创作 【免费下载链接】VRM-Addon-for-Blender VRM Importer, Exporter and Utilities for Blender 2.93 to 5.0 项目地址: https://gitcode.com/gh_mirrors/vr/VRM-Addon-for-Blender VRM Addon for Blende…...
Phi-3-mini-4k-instruct保姆级教学:Ollama Web UI自定义System Prompt与温度调节
Phi-3-mini-4k-instruct保姆级教学:Ollama Web UI自定义System Prompt与温度调节 你是不是已经用Ollama Web UI体验过Phi-3-mini-4k-instruct的文本生成能力了?感觉还不错,但总觉得少了点什么?比如,想让模型扮演一个专…...
YOLOv11与OFA-Image-Caption联动:实现视频流中实时物体检测与描述生成
YOLOv11与OFA-Image-Caption联动:实现视频流中实时物体检测与描述生成 你有没有想过,让机器不仅能“看见”视频里有什么,还能像人一样,用语言把看到的东西“说”出来?比如,在监控画面里,它不仅…...
Phi-4-mini-reasoning集成Visual Studio Code:智能代码补全与调试插件开发
Phi-4-mini-reasoning集成Visual Studio Code:智能代码补全与调试插件开发 1. 为什么开发者需要AI驱动的IDE插件 现代软件开发正变得越来越复杂,开发者每天要面对海量代码库、频繁的上下文切换和层出不穷的新技术。传统IDE虽然提供了基础补全功能&…...
数字人项目救星:lite-avatar形象库150+免费形象开箱即用
数字人项目救星:lite-avatar形象库150免费形象开箱即用 还在为数字人项目找不到合适、好看又免费的形象发愁吗?自己训练模型,耗时耗力,效果还不一定好;购买商业形象库,成本高昂,预算有限根本玩…...
OpenClaw极简部署方案:Qwen3-14b_int4_awq最小化依赖安装
OpenClaw极简部署方案:Qwen3-14b_int4_awq最小化依赖安装 1. 为什么需要极简部署 上周我在本地尝试部署OpenClaw时,被默认安装的庞大依赖项震惊了——光是Python包就装了近200MB,还自动启用了十几个我根本用不到的技能模块。这种"全家…...
嵌入式Linux网络状态检测方案与优化实践
1. 嵌入式设备网络状态检测实战指南 在嵌入式Linux开发中,网络连接状态的实时监测是个常见但容易被忽视的需求。想象一下,你正在开发一个智能家居网关,突然Wi-Fi断了,但设备还在傻乎乎地发送数据;或者工业现场的设备&a…...
共享单车智能通信系统架构与技术解析
1. 共享单车通信系统架构解析共享单车的智能通信系统主要由四大核心模块构成:智能车锁、供电系统、通信模块和云端平台。这套系统设计最精妙之处在于,它完美结合了移动通信技术、蓝牙短距传输和GPS定位技术,构建了一个稳定可靠的物联网应用场…...
设计键盘键帽个性替换件,精准适配,输出,客制化键盘低成本平替。
如何低成本获得独一无二的键帽。项目方案:基于Python的键盘键帽激光雕刻参数化生成系统一、 实际应用场景描述想象一下,你是一个 VIM 党,或者是一个重度使用 Figma 的设计师。你对键盘有着极致的追求:你想把 "ESC" 键换…...
