一键设置 NTP & 时区的脚本(亲测,适用于部署 K8S 的前置环境)

文章目录

一、时区和时间同步的配置命令

整理用于做时区和时间同步的配置几条命令分别如下:

1️⃣ 编辑 chrony 配置

bash 复制代码
vim /etc/chrony.conf

一般是修改 NTP 服务器,比如换成阿里云、腾讯云等国内源,例如:

bash 复制代码
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst

2️⃣ 设置系统时区为上海时间

bash 复制代码
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#-sf:强制创建软链接,替换原来的 /etc/localtime,让系统使用上海时区。

3️⃣ 写入时区信息到 /etc/timezone

bash 复制代码
echo 'Asia/Shanghai' > /etc/timezone

有些程序会读取 /etc/timezone 来判断时区,这步是为了兼容。

4️⃣ 重启时间同步服务

bash 复制代码
systemctl restart chronyd
systemctl enable chronyd

5️⃣ 检查同步状态

bash 复制代码
chronyc sources -v

可以看到当前 NTP 同步源和同步状态。

写了一个一键设置 NTP & 时区的脚本,适用于你这种部署 Rancher + K8S 的环境,保证所有节点时间同步一致,避免 TLS 证书和集群时间漂移问题。

二、完整脚本ntp_timezone_setup.sh

bash 复制代码
# 一键配置 NTP 和时区
# 适用系统:CentOS / RHEL / Rocky / Alma / Amazon Linux 2

set -e

echo "=== 1. 设置时区为 Asia/Shanghai ==="
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone

echo "=== 2. 安装 chrony(如果未安装) ==="
yum install -y chrony

echo "=== 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
EOF

echo "=== 5. 启动并设置开机自启 chronyd ==="
systemctl enable --now chronyd

echo "=== 6. 等待时间同步中... ==="
sleep 3
chronyc sources -v

echo "=== 7. 检查系统时间 ==="
date

echo "✅ 配置完成:NTP 同步已启用,时区已设置为 Asia/Shanghai"

三、使用方法

3.1、创建脚本

bash 复制代码
vim ntp_timezone_setup.sh

粘贴上面的内容并保存。

3.2、赋予执行权限

bash 复制代码
chmod +x ntp_timezone_setup.sh

3.3、运行脚本

bash 复制代码
./ntp_timezone_setup.sh

3.4、验证

bash 复制代码
timedatectl
chronyc tracking


建议把这个脚本在 所有 Rancher/K8S 节点 都执行一次,这样控制平面和 worker 节点的时间会绝对一致,不会再出现你前面提到的tls: failed to verify certificate: x509: certificate signed by unknown authority 这种因时间差导致的错误。


"人的一生会经历很多痛苦,但回头想想,都是传奇"。


相关推荐
阿里云云原生18 分钟前
Agent 数据飞轮平台的选型和实践
云原生
做运维的阿瑞1 小时前
云项目可观测性与成本治理:告警、日志、Dashboard 与预算标签
大数据·云原生·云计算·terraform
无人生还别怕2 小时前
如何搭建k8s服务(containerd部署)
linux·云原生·容器·kubernetes·openanolisos
知已难寻3 小时前
01 · OpenStack的认证管理 Keystone
运维·服务器·云原生·云计算·openstack
分布式存储与RustFS3 小时前
模型权重散落在每台 GPU?用 RustFS 给 vLLM 做共享权重库
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
木雷坞4 小时前
Baserow Docker部署:导入设备借用CSV,再用表单新增登记
运维·docker·容器
fb_123454 小时前
从探针到权限:一篇吃透 Kubernetes 健康检查、RBAC 认证授权与 Dashboard 可视化管理
云原生·容器·kubernetes
wefg15 小时前
【Docker】基本指令
运维·docker·容器
mengge.cloud5 小时前
10-28-Kubernetes健康检查认证授权与Dashboard
云原生·容器·kubernetes
做运维的阿瑞6 小时前
EKS 可销毁环境:集群创建、应用部署到账单归零
云原生·云计算·terraform