网关节点证书即将过期或已过期
故障概述
OpenResty Edge 系统的各个组件间通信采用 TLS 加密传输以确保安全性。当您在 Edge Admin 界面看到告警,或在 Edge Node 的错误日志中发现类似 check_cert_expiration(): API error: invalid timestamp
的错误时,表明 Edge Node 的证书即将过期或已过期,且自动续期过程中遇到了问题。
故障影响
- 证书即将过期:通常不会对系统造成直接影响,但需要及时处理以防止证书过期。
- 证书已过期:将导致组件间无法正常通信,包括但不限于:
- 无法同步配置
- 无法上传日志
- 其他依赖于安全通信的功能可能受到影响
故障解决
1. 检查并修复 Edge Admin 的系统时间
1.1 检查系统时间
验证 Edge Admin 的系统时间是否与当前实际时间一致。
date
1.2 纠正系统时间
选择以下方法之一进行时间校正:
方法一:使用 Chrony 或 NTP 服务(推荐)
# 1. 安装 Chrony
# 对于 apt 系统(如 Ubuntu、Debian)
sudo apt-get update && sudo apt-get install -y chrony
# 对于 yum 系统(如 CentOS、RHEL)
sudo yum update && sudo yum install -y chrony
# 2. 重启 Chrony 服务
sudo systemctl restart chronyd
# 3. 验证 Chrony 同步状态
chronyc sources
chronyc tracking
# 4. 启用 Chrony 服务开机自启
sudo systemctl enable chronyd
方法二:手动设置时间
设置系统日期和时间:
sudo date -s "YYYY-MM-DD HH:MM:SS"
请将 “YYYY-MM-DD HH:MM:SS” 替换为当前正确的日期和时间。
将系统时间同步到硬件时钟:
sudo hwclock --systohc
1.3 重启 Edge Admin 服务
完成时间校正后,重启 Edge Admin 服务:
sudo systemctl restart upgrade-oredge-admin
2. 检查并修复 Edge Node 的系统时间
2.1 证书即将过期
检查 Edge Node 的系统时间:
date
如果时间错误,按照上述 Edge Admin 的时间校正方法(NTP 服务或手动设置),调整 Edge Node 的系统时间。
重启 Edge Node 服务:
sudo systemctl restart upgrade-oredge-node
2.2 证书已过期
检查 Edge Node 的系统时间:
date
如果时间错误,按照上述时间校正方法调整 Edge Node 的系统时间。
迁移流量:将流量迁移到其他正常运行的 Edge Node。
重启 Edge Node 服务:
sudo systemctl restart upgrade-oredge-node
从集群中移除并重新添加节点:
- 在 Edge Admin 的网关集群管理界面中,删除这个 Edge Node。
- 持续刷新网关集群界面,等待 Edge Node 重新出现在候选列表中。
- 重新批准该 Edge Node 加入集群。