Alpine Linux运行chrony(NTP服务)¶
在 边缘云计算架构 中,部署独立 边缘云NTP和DNS服务 以提供整个边缘云的时钟同步(解决 Alpine Linux在树莓派启动”clock skew”报错 )和提供 K3s - 轻量级Kubernetes 集群主机名解析。
部署说明¶
在 边缘云计算架构 中, x-k3s-m-1
部署 NTP 服务:
- 实际上,所有 Raspberry Pi 在解决 Alpine Linux在树莓派启动”clock skew”报错 问题已经全部安装了 chrony ntp服务 ,但是最初部署时候都是作为client运行,借用了 私有云NTP服务 。
- 现在拆分 私有云计算构建 和 边缘云计算构建 后,则需要升级一台主机同时作为NTP client 和 server。
安装¶
- 树莓派环境安装Alpine Linux到USB磁盘启动 步骤中已经安装
chrony
软件包并配置解决 Alpine Linux在树莓派启动”clock skew”报错 ,所以安装步骤可跳过。
chrony配置¶
- 在服务器
x-k3s-m-1
上编辑/etc/chrony/chrony.conf
添加服务配置行:
chrony服务器的/etc/chrony/chrony.conf配置¶
# chrony server config
pool pool.ntp.org iburst
initstepslew 10 pool.ntp.org
allow 192.168.7.0/24
driftfile /var/lib/chrony/chrony.drift
rtcsync
cmdport 0
- 然后在服务器
x-k3s-m-1
上执行以下命令重启chrony
服务,很快就矫正了时间:
alpine linux系统中重启chronyd服务¶
sudo service chronyd restart
- 在 边缘云计算架构 中其他节点都以
x-k3s-m-1
为NTP服务器,配置/etc/chrony/chrony.conf
如下:
chrony服务端的/etc/chrony/chrony.conf配置¶
# chrony client config
pool 192.168.7.11 iburst
initstepslew 10 192.168.7.11
driftfile /var/lib/chrony/chrony.drift
rtcsync
cmdport 0
异常排查¶
我遇到一个比较奇怪的问题:
x-k3s-m-1
作为NTP服务器启动后,主机的时间立即就调整正确了- 但是其他节点以
x-k3s-m-1
为服务器,重启chrony
服务却不调整时间,一直显示比实际时间早1周左右
我最初怀疑是时间差异太大导致NTP不能自动调整,但是 /var/log/chrony
目录下是空的,参考ubuntu linux发行版的 chrony.conf
配置启用日志:
# Uncomment the following line to turn logging on.
log tracking measurements statistics
# Log files location.
logdir /var/log/chrony
但是依然没有日志生成 ^_^
我乌龙了 ,原来我不知道为何鬼迷心窍,在 x-k3s-m-1
的 /etc/chrony/chrony.conf
配置行:
pool pool.ntp.org offline iburst
上面多写了一个 offline
参数,这个参数应该是导致 chrony
停止对外服务。修订为:
pool pool.ntp.org iburst
重启 x-k3s-m-1
NTP服务器之后,网络中其他ntp客户端时间就正常调整了