kubeasz/docs/guide/chrony.md

2.6 KiB
Raw Blame History

chrony 时间同步

在安装k8s集群前需确保各节点时间同步chrony 是一个优秀的 NTP 实现性能比ntp好且配置管理方便它既可作时间服务器服务端也可作客户端。

  • OpenStack 社区也推荐使用 chrony实现各节点之间的时间同步

安装配置介绍

项目中选定一个节点(groups.chrony[0])作为集群内部其他节点的时间同步源,而这个节点本身从公网源同步;当然如果整个集群都无法访问公网,那么请手动校准这个节点的时间后,仍旧可以作为内部集群的时间源服务器。

  • 配置 chrony server详见roles/chrony/templates/server.conf.j2

  • 配置 chrony client详见roles/chrony/templates/client.conf.j2

kubeasz 集成安装

  • 修改 clusters/${cluster_name}/hosts 文件,在 chrony组中加入选中的节点ip
  • [可选] 修改 clusters/${cluster_name}/config.yml 中的相关配置 -执行命令安装 ezctl setup ${cluster_name} 01

验证安装

  • 检查chronyd服务状态 systemctl status chronyd
  • 检查chronyd时间同步日志 /var/log/chrony

验证时间同步状态完成

chrony 服务启动后chrony server 会与配置的公网参考时间服务器进行同步server 同步完成后chrony client 会与 server 进行时间同步;一般来说整个集群达到时间同步需要几十分钟。可以用如下命令检查,初始时 NTP synchronized: no,同步完成后 NTP synchronized: yes

$ ansible -i clusters/${cluster_name}/hosts all -m shell -a 'timedatectl'
192.168.1.1 | SUCCESS | rc=0 >>
      Local time: Sat 2019-01-26 11:51:51 HKT
  Universal time: Sat 2019-01-26 03:51:51 UTC
        RTC time: Sat 2019-01-26 03:51:52
       Time zone: Asia/Hong_Kong (HKT, +0800)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

192.168.1.4 | SUCCESS | rc=0 >>
      Local time: Sat 2019-01-26 11:51:51 HKT
  Universal time: Sat 2019-01-26 03:51:51 UTC
        RTC time: Sat 2019-01-26 03:51:52
       Time zone: Asia/Hong_Kong (HKT, +0800)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

192.168.1.2 | SUCCESS | rc=0 >>
      Local time: Sat 2019-01-26 11:51:51 HKT
  Universal time: Sat 2019-01-26 03:51:51 UTC
        RTC time: Sat 2019-01-26 03:51:52
       Time zone: Asia/Hong_Kong (HKT, +0800)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

192.168.1.3 | SUCCESS | rc=0 >>
      Local time: Sat 2019-01-26 11:51:51 HKT
  Universal time: Sat 2019-01-26 03:51:51 UTC
        RTC time: Sat 2019-01-26 03:51:52
       Time zone: Asia/Hong_Kong (HKT, +0800)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no