更新 chrony 相关文档

pull/296/head
gjmzj 2018-08-18 09:28:23 +08:00
parent 7054b57dbf
commit 20d5195dd1
7 changed files with 109 additions and 35 deletions

View File

@ -2,6 +2,8 @@
多节点高可用集群部署步骤与[AllinOne部署](quickStart.md)基本一致增加LB 负载均衡部署步骤。
**注意:请确保各节点时区设置一致、时间同步。** 如果你的环境没有提供NTP 时间同步,推荐集成安装[chrony](guide/chrony.md)。
## 高可用集群所需节点配置如下:
+ 部署节点------x1 : 运行这份 ansible 脚本的节点
+ etcd节点------x3 : 注意etcd集群必须是1,3,5,7...奇数个节点
@ -9,8 +11,6 @@
+ lb节点--------x2 : 负载均衡节点两个,安装 haproxy+keepalived
+ node节点------x3 : 真正应用负载的节点,根据需要提升机器配置和增加节点数
**请注意对于多节点集群请确保各节点时区设置一致并使用ntp服务器同步各节点时间。**
生产环境使用建议一个节点只是一个角色这里演示环境将节点绑定多个角色。项目预定义了3个例子请修改后完成适合你的集群规划。
+ [单节点](../example/hosts.allinone.example)

View File

@ -0,0 +1,41 @@
# 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 `

View File

@ -0,0 +1,55 @@
## 前言
`kubeasz`项目开始于`2017.11`半年多时间以来从最开始单一的ansible部署脚本朝着提供部署高可用 K8S集群的完整解决方案的目标不断前进接下去项目的发展需要各位的共同参与和贡献希望越做越好为国内k8s学习、实践者提供更多帮助。
### 项目已完成部分
<table border="0">
<tr>
<th>类型</th>
<th>描述</th>
<th>备注</th>
</tr>
<tr>
<td>集群部署</td>
<td>服务器基础安全加固与参数优化</td>
<td>已完成</td>
</tr>
<tr>
<td>基础服务</td>
<td>集群监控告警-prometheus</td>
<td>已完成基础,待优化</td>
</tr>
<tr>
<td>应用服务</td>
<td>jenkins集成</td>
<td>已完成</td>
</tr>
<tr>
<td>集群部署</td>
<td>kube-router网络插件</td>
<td>已完成</td>
</tr>
<tr>
<td>基础服务</td>
<td>metrics server</td>
<td>已完成</td>
</tr>
<tr>
<td>集群部署</td>
<td>ipvs代理模式跟进</td>
<td>已完成</td>
</tr>
<tr>
<td>集群部署</td>
<td>cilium网络插件</td>
<td>已完成</td>
</tr>
<tr>
<td>集群部署</td>
<td>集群内时间同步-Chrony</td>
<td>已完成</td>
</tr>
</table>

View File

@ -1,6 +1,6 @@
## 前言
`kubeasz`项目开始于`2017.11`半年多时间以来,从最开始单一的ansible部署脚本朝着提供部署高可用 K8S集群的完整解决方案的目标不断前进,接下去项目的发展需要各位的共同参与和贡献希望越做越好为国内k8s学习、实践者提供更多帮助。
`kubeasz`项目开始于`2017.11`从最开始单一的ansible部署脚本朝着提供部署高可用 K8S集群的完整解决方案的目标不断前进项目的发展需要各位的共同参与和贡献希望越做越好为国内k8s学习、实践者提供更多帮助。
现在是很好的时间节点,梳理项目的`TodoList`/`Milestones`,以下是现有的一些想法,欢迎大家在[这里](https://github.com/gjmzj/kubeasz/issues/188)参与讨论。
### 项目 TodoList
@ -11,16 +11,6 @@
<th>描述</th>
<th>备注</th>
</tr>
<tr>
<td>集群部署</td>
<td>集群内时间同步-Chrony</td>
<td>暂取消</td>
</tr>
<tr>
<td>集群部署</td>
<td>服务器基础安全加固与参数优化</td>
<td>已完成</td>
</tr>
<tr>
<td>基础服务</td>
<td>集群监控告警-prometheus</td>
@ -28,28 +18,13 @@
</tr>
<tr>
<td>应用服务</td>
<td>CI/CD 集成</td>
<td>更新jenkins</td>
</tr>
<tr>
<td>集群部署</td>
<td>kube-router网络插件</td>
<td>已完成</td>
<td>服务治理-istio跟进</td>
<td></td>
</tr>
<tr>
<td>基础服务</td>
<td>metrics server</td>
<td>已完成</td>
</tr>
<tr>
<td>集群部署</td>
<td>ipvs代理模式跟进</td>
<td>已完成</td>
</tr>
<tr>
<td>应用服务</td>
<td>服务治理-istio跟进</td>
<td></td>
<td>ingress-nginx</td>
<td>待集成manifests及使用文档</td>
</tr>
</table>

View File

@ -1,4 +1,5 @@
# 部署节点运行ansible 脚本的节点
# 集群部署节点一般为运行ansible 脚本的节点
# 变量 NTP_ENABLED (=yes/no) 设置集群是否安装 chrony 时间同步
[deploy]
192.168.1.1 NTP_ENABLED=no

View File

@ -1,4 +1,5 @@
# 部署节点:运行这份 ansible 脚本的节点
# 集群部署节点一般为运行ansible 脚本的节点
# 变量 NTP_ENABLED (=yes/no) 设置集群是否安装 chrony 时间同步
[deploy]
192.168.1.1 NTP_ENABLED=no

View File

@ -1,4 +1,5 @@
# 部署节点运行ansible 脚本的节点
# 集群部署节点一般为运行ansible 脚本的节点
# 变量 NTP_ENABLED (=yes/no) 设置集群是否安装 chrony 时间同步
[deploy]
192.168.1.1 NTP_ENABLED=no