閘道器節點證書即將過期或已過期
故障概述
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 加入叢集。