閘道器節點證書即將過期或已過期

故障概述

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 加入叢集。