文章目錄
- 一、時區和時間同步的配置命令
- 二、完整腳本ntp_timezone_setup.sh
- 三、使用方法
- 3.1、創建腳本
- 3.2、賦予執行權限
- 3.3、運行腳本
- 3.4、驗證
一、時區和時間同步的配置命令
整理用于做時區和時間同步的配置幾條命令分別如下:
1?? 編輯 chrony 配置
vim /etc/chrony.conf
一般是修改 NTP 服務器,比如換成阿里云、騰訊云等國內源,例如:
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
2?? 設置系統時區為上海時間
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#-sf:強制創建軟鏈接,替換原來的 /etc/localtime,讓系統使用上海時區。
3?? 寫入時區信息到 /etc/timezone
echo 'Asia/Shanghai' > /etc/timezone
有些程序會讀取 /etc/timezone 來判斷時區,這步是為了兼容。
4?? 重啟時間同步服務
systemctl restart chronyd
systemctl enable chronyd
5?? 檢查同步狀態
chronyc sources -v
可以看到當前 NTP 同步源和同步狀態。
寫了一個一鍵設置 NTP & 時區的腳本,適用于你這種部署 Rancher + K8S 的環境,保證所有節點時間同步一致,避免 TLS 證書和集群時間漂移問題。
二、完整腳本ntp_timezone_setup.sh
# 一鍵配置 NTP 和時區
# 適用系統:CentOS / RHEL / Rocky / Alma / Amazon Linux 2set -eecho "=== 1. 設置時區為 Asia/Shanghai ==="
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezoneecho "=== 2. 安裝 chrony(如果未安裝) ==="
yum install -y chronyecho "=== 3. 備份原有 chrony 配置 ==="
cp /etc/chrony.conf /etc/chrony.conf.bak.$(date +%F_%T)echo "=== 4. 配置阿里云 NTP 源 ==="
cat > /etc/chrony.conf <<EOF
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst
server ntp5.aliyun.com iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
EOFecho "=== 5. 啟動并設置開機自啟 chronyd ==="
systemctl enable --now chronydecho "=== 6. 等待時間同步中... ==="
sleep 3
chronyc sources -vecho "=== 7. 檢查系統時間 ==="
dateecho "? 配置完成:NTP 同步已啟用,時區已設置為 Asia/Shanghai"
三、使用方法
3.1、創建腳本
vim ntp_timezone_setup.sh
粘貼上面的內容并保存。
3.2、賦予執行權限
chmod +x ntp_timezone_setup.sh
3.3、運行腳本
./ntp_timezone_setup.sh
3.4、驗證
timedatectl
chronyc tracking
建議把這個腳本在 所有 Rancher/K8S 節點 都執行一次,這樣控制平面和 worker 節點的時間會絕對一致,不會再出現你前面提到的tls: failed to verify certificate: x509: certificate signed by unknown authority 這種因時間差導致的錯誤。
“人的一生會經歷很多痛苦,但回頭想想,都是傳奇”。