记一次阿里云搭建K8S在恢复镜像快照之后etcd一个节点无法启动问题

news/2024/11/15 11:59:09/文章来源:https://www.cnblogs.com/minseo/p/18399706
  1. 环境查看
    系统环境
# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
# uname -a
Linux CentOS7K8SMaster01005101 3.10.0-1160.114.2.el7.x86_64 #1 SMP Wed Mar 20 15:54:52 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

软件环境

# kubectl version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.4", GitCommit:"c27b913fddd1a6c480c229191a087698aa92f0b1", GitTreeState:"clean", BuildDate:"2019-02-28T13:37:52Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
# /opt/etcd/bin/etcd --version
etcd Version: 3.3.10
Git SHA: 27fc7e2
Go Version: go1.10.4
Go OS/Arch: linux/amd64
  1. 故障现象
    阿里云一台服务器出现挖矿之后恢复了磁盘快照etcd无法启动
    image

查看/var/log/messages日志发现以下日志

etcd: member fa1b88064457e060 has already been bootstrapped
systemd: etcd.service: main process exited, code=exited, status=1/FAILURE
systemd: Unit etcd.service entered failed state.
systemd: etcd.service failed.
systemd: etcd.service holdoff time over, scheduling restart.
etcd: recognized environment variable ETCD_NAME, but unused: shadowed by corresponding flag
etcd: recognized environment variable ETCD_DATA_DIR, but unused: shadowed by corresponding flag
etcd: recognized environment variable ETCD_LISTEN_PEER_URLS, but unused: shadowed by corresponding flag
etcd: recognized environment variable ETCD_LISTEN_CLIENT_URLS, but unused: shadowed by corresponding flag
etcd: recognized environment variable ETCD_INITIAL_ADVERTISE_PEER_URLS, but unused: shadowed by corresponding flag
etcd: recognized environment variable ETCD_ADVERTISE_CLIENT_URLS, but unused: shadowed by corresponding flag
etcd: recognized environment variable ETCD_INITIAL_CLUSTER, but unused: shadowed by corresponding flag
etcd: recognized environment variable ETCD_INITIAL_CLUSTER_TOKEN, but unused: shadowed by corresponding flag
etcd: recognized environment variable ETCD_INITIAL_CLUSTER_STATE, but unused: shadowed by corresponding flag
etcd: etcd Version: 3.3.10
  1. 原因分析
    恢复快照之后数据不同步导致
  2. 修复步骤
    删除/var/lib/etcd/重启etcd无法修复
    需要修改etcd启动文件
    image
    完整的配置文件如下
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target[Service]
Type=notify
EnvironmentFile=/opt/etcd/cfg/etcd
ExecStart=/opt/etcd/bin/etcd \
--name=${ETCD_NAME} \
--data-dir=${ETCD_DATA_DIR} \
--listen-peer-urls=${ETCD_LISTEN_PEER_URLS} \
--listen-client-urls=${ETCD_LISTEN_CLIENT_URLS},http://127.0.0.1:2379 \
--advertise-client-urls=${ETCD_ADVERTISE_CLIENT_URLS} \
--initial-advertise-peer-urls=${ETCD_INITIAL_ADVERTISE_PEER_URLS} \
--initial-cluster=${ETCD_INITIAL_CLUSTER} \
--initial-cluster-token=${ETCD_INITIAL_CLUSTER_TOKEN} \
--initial-cluster-state=existing \
--cert-file=/opt/etcd/ssl/server.pem \
--key-file=/opt/etcd/ssl/server-key.pem \
--peer-cert-file=/opt/etcd/ssl/server.pem \
--peer-key-file=/opt/etcd/ssl/server-key.pem \
--trusted-ca-file=/opt/etcd/ssl/ca.pem \
--peer-trusted-ca-file=/opt/etcd/ssl/ca.pem
Restart=on-failure
LimitNOFILE=65536[Install]
WantedBy=multi-user.target

重启

# systemctl reload-daemon
# systemctl restart etcd

查看是否修复

# kubectl get cs
NAME                 STATUS    MESSAGE             ERROR
scheduler            Healthy   ok                  
controller-manager   Healthy   ok                  
etcd-1               Healthy   {"health":"true"}   
etcd-0               Healthy   {"health":"true"}   
etcd-2               Healthy   {"health":"true"}   

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无风扇嵌入式工控机的技术优势

无风扇嵌入式工控机专为优先考虑低维护和可靠性的应用而设计。这些工控机是不间断性能至关重要的行业的完美选择,因为它们消除了与风扇相关的故障风险。通过消除对风扇的需求,无风扇工控机提供了无缝且可靠的性能,不会受到潜在风扇故障或故障的影响。此外,无风扇嵌入式工控…

哎呀,当时怎么没有想到

在我们的测试工作中,是不是经常遇到这样的情形,发生了线上问题,产品、研发或者测试同学一拍脑袋:当时怎么没有想到,怎么给漏掉了呢?明明是一个非常简单的事情,用大拇指都能想到的验证场景,为何当时就漏测了呢?但实际情况是,逃逸到线上的缺陷,疑难杂症式的极端异常的…

Optuna发布 4.0 重大更新:多目标TPESampler自动化超参数优化速度提升显著

Optuna这个备受欢迎的超参数优化框架在近期发布了其第四个主要版本。自2018年首次亮相以来,Optuna不断发展,现已成为机器学习领域的重要工具。其用户社区持续壮大,目前已达到以下里程碑:10,000+ GitHub星标 每月300万+ 下载量 16,000+ 代码库使用 5,000+ 论文引用 18,000+ …

揭秘如何通过淘宝API接口高效获取商品数据

https://img2024.cnblogs.com/blog/3506472/202409/3506472-20240906095413951-921785923.png在电子商务的世界里,数据就是力量。对于淘宝卖家来说,掌握店铺商品的全面数据是优化运营策略、提升销售业绩的关键。淘宝API,作为连接淘宝平台与外部应用的桥梁,提供了一键获取店…

常用协议

常用协议和报文解读常用协议 默认网关 实现不同网络之间的路由转发ARP 地址解析协议,根据IP地址获取MAC地址,还能检测地址是否有重复 广播ARP报文寻找目标IP的MAC地址主机1通过发送ARP Request报文获取主机2的MAC地址 ​ 由于不知道目的MAC地址,因此ARP Request报文內目的MA…

测试博客园_network

1. 一级标题新建文件 添加type属性,及值 基于tpye的值创建模板 更新属性 更新网络版试试

IPv6协议——互联网通信协议第六版

引言IPv6是互联网升级演进的必然趋势、网络技术创新的重要方向、网络强国建设的基础支撑。近些年,随着我国大力推动IPv6规模部署和应用,目前中国的IPv6渗透率已超过70%。 对于车载以太网来说,目前IPv4是车载IP通信的主流协议,但随着车辆的智能化、网联化程度不断提高,IPv6…

KUnit

基本介绍 KUnit Suite Memory每一个kUnit都有自己的上下文,所以一个崩溃了,不会影响到其他的suit。 开关 目前可以有下面几种方法控制case测试。 menuconfig控制 使用.kunitconfig控制编译的测试文件 使用宏选择性开启某些case 使用debugfs kunit_get_current_test 总开关 CO…

Python批量采集某东评论,实现可视化分析

女朋友没事就喜欢网购,买一大堆又不用,总说不合适,为了不让她花冤枉钱,于是我决定用Python写一个采集商品评论的脚本,然后对商品进行分析,这样就不怕踩到坑了! 让我们直接开始本次操作准备工作 环境安装Python 3.10 Pycharm 模块使用采集数据模块 -DrissionPage ->…

linux启动流程

KASLR kernel address space layout randomization 内核地址空间布局随机化 本质是将链接的地址做了随机偏移,这样System.map中的地址也不一样了,需要用 cat /proc/kallsyms才能查看到实际的地址。主要还是为了安全,这样地址布局随机化,来增加安全,被攻击的难度会增加。防…

推荐一款流量录制回放工具:jvm-sandbox-repeater

在软件开发和测试过程中,我们经常会遇到需要对网络请求进行录制和回放的需求,以便进行调试、测试和分析。为了模拟真实的用户请求,我们通常会使用各种流量录制回放工具来记录并重放网络请求。 其中,jvm-sandbox-repeater 是一款功能强大的流量录制回放工具,可以帮助我们轻…

第三章 路由系统

3.路由系统 本质上:URL和函数的对应关系。 3.1 传统的路由 from django.contrib import admin from django.urls import path from apps.web import viewsurlpatterns = [path(home/, views.home),path(news/<int:nid>/edit/, views.news),path(article/, views.article…