网关节点证书即将过期或已过期

故障概述

OpenResty Edge 系统的各个组件间通信采用 TLS 加密传输以确保安全性。当您在 Edge Admin 界面看到告警,或在 Edge Node 的错误日志中发现类似 check_cert_expiration(): API error: invalid timestamp 的错误时,表明 Edge Node 的证书即将过期或已过期,且自动续期过程中遇到了问题。

故障影响

  1. 证书即将过期:通常不会对系统造成直接影响,但需要及时处理以防止证书过期。
  2. 证书已过期:将导致组件间无法正常通信,包括但不限于:
    • 无法同步配置
    • 无法上传日志
    • 其他依赖于安全通信的功能可能受到影响

故障解决

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
方法二:手动设置时间
  1. 设置系统日期和时间:

    sudo date -s "YYYY-MM-DD HH:MM:SS"
    

    请将 “YYYY-MM-DD HH:MM:SS” 替换为当前正确的日期和时间。

  2. 将系统时间同步到硬件时钟:

    sudo hwclock --systohc
    

1.3 重启 Edge Admin 服务

完成时间校正后,重启 Edge Admin 服务:

sudo systemctl restart upgrade-oredge-admin

2. 检查并修复 Edge Node 的系统时间

2.1 证书即将过期

  1. 检查 Edge Node 的系统时间:

    date
    
  2. 如果时间错误,按照上述 Edge Admin 的时间校正方法(NTP 服务或手动设置),调整 Edge Node 的系统时间。

  3. 重启 Edge Node 服务:

    sudo systemctl restart upgrade-oredge-node
    

2.2 证书已过期

  1. 检查 Edge Node 的系统时间:

    date
    
  2. 如果时间错误,按照上述时间校正方法调整 Edge Node 的系统时间。

  3. 迁移流量:将流量迁移到其他正常运行的 Edge Node。

  4. 重启 Edge Node 服务:

    sudo systemctl restart upgrade-oredge-node
    
  5. 从集群中移除并重新添加节点:

    • 在 Edge Admin 的网关集群管理界面中,删除这个 Edge Node。
    • 持续刷新网关集群界面,等待 Edge Node 重新出现在候选列表中。
    • 重新批准该 Edge Node 加入集群。