kubeasz/docs/guide/chrony.md

42 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# chrony 时间同步
在安装k8s集群前需确保各节点时间同步`chrony` 是一个优秀的 `NTP` 实现性能比ntp好且配置管理方便它既可作时间服务器服务端也可作客户端。
- `OpenStack` 社区也推荐使用 `chrony`实现各节点之间的时间同步
## 安装配置介绍
项目中选定一个节点(`deploy` )作为集群内部其他节点的时间同步源,而 deploy节点本身从公网源同步当然如果整个集群都无法访问公网那么请手动校准deploy 节点的时间后,仍旧可以作为内部集群的时间源服务器。
- 配置 chrony server, 在`/etc/chrony.conf` 配置以下几项,其他项默认值即可
``` bash
# 1. 配置时间源,国内可以增加阿里的时间源 ntp1.aliyun.com
server {{ ntp_server }} iburst
# 2. 配置允许同步的客户端网段
allow {{ local_network }}
# 3. 配置离线也能作为源服务器
local stratum 10
```
- 配置 chrony client
``` bash
# 1. 清除所有其他时间源,只配置一个本地 deploy节点作为源
server {{ groups.deploy[0] }} iburst
# 2. 其他所有项可以默认配置
```
## `kubeasz` 集成安装
- 修改 ansible hosts 文件,在 `deploy` 节点配置 `NTP_ENABLED=yes` (默认: no)
- [可选] 修改 roles/chrony/var/main.yml 中的变量定义,关于文件 roles/chrony/var/main.yml 的由来请看[这里](../config_guide.md)
对于新集群或者新节点,`chrony` 的安装配置已经集成到 `90.setup.yml` `01.prepare.yml` `20.addnode.yml` `21.addmaster.yml` 等脚本中;对于已运行中的集群请执行如下命令进行安装:
`ansible-playbook /etc/ansible/roles/chrony/chrony.yml `